[Bug 789031] Re: Built-in ASM constraint "rm" does not work (i386)

Matthias Klose doko at ubuntu.com
Tue Aug 16 14:47:45 UTC 2011


afaiu, there is no way to say to use all free register's, and for the
rest memory. the "r" constraint cannot be fulfilled for all operands.
use a "m" constraint for the last to operands, and the code builds.


** Changed in: gcc-4.5 (Ubuntu)
       Status: Triaged => Invalid

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to gcc-4.5 in Ubuntu.
https://bugs.launchpad.net/bugs/789031

Title:
  Built-in ASM constraint "rm" does not work (i386)

Status in “gcc-4.5” package in Ubuntu:
  Invalid

Bug description:
  Try to compile the attached program with "gcc -O2 -g test.c" on i386.
  It fails with this error:

  test.c: In function ‘main’:
  test.c:7:3: error: can't find a register in class ‘GENERAL_REGS’ while reloading ‘asm’
  test.c:7:3: error: ‘asm’ operand has impossible constraints

  As I understand it, the correct behaviour would be to use memory for
  some parameters and registers for other parameters as I specifically
  allow both.

  ProblemType: Bug
  DistroRelease: Ubuntu 11.04
  Package: gcc 4:4.5.2-1ubuntu3
  ProcVersionSignature: Ubuntu 2.6.38-8.42-generic 2.6.38.2
  Uname: Linux 2.6.38-8-generic i686
  NonfreeKernelModules: nvidia
  Architecture: i386
  Date: Fri May 27 11:23:16 2011
  InstallationMedia: Ubuntu 11.04 "Natty Narwhal" - Alpha i386 (20110322.1)
  ProcEnviron:
   LANGUAGE=sv_SE:en
   LANG=sv_SE.UTF-8
   SHELL=/bin/bash
  SourcePackage: gcc-defaults
  UpgradeStatus: No upgrade log present (probably fresh install)

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/gcc-4.5/+bug/789031/+subscriptions




More information about the foundations-bugs mailing list