This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug target/47502] New: [x32] canât find a register in class âSIREGâ while reloading âasmâ


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47502

           Summary: [x32] canât find a register in class âSIREGâ while
                    reloading âasmâ
           Product: gcc
           Version: 4.6.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: hjl.tools@gmail.com


On x32 branch, I got

[hjl@gnu-6 ilp32-19]$ cat x.i
int
foo (const void *set, void *oset)
{
  unsigned int resultvar;
  asm volatile ("int $0x80\n\t"
                : "=a" (resultvar)
                : "0" (14), "c" ((set)), "d" ((oset)), "S" (8)
                : "memory", "cc");
  return resultvar;
}
[hjl@gnu-6 ilp32-19]$ make
/export/build/gnu/gcc-x32/build-x86_64-linux/gcc/xgcc
-B/export/build/gnu/gcc-x32/build-x86_64-linux/gcc/ -S -o x.s -mx32 -O -dp  
x.i
x.i: In function âfooâ:
x.i:5:3: error: canât find a register in class âSIREGâ while reloading âasmâ
x.i:5:3: error: âasmâ operand has impossible constraints
make: *** [x.s] Error 1
[hjl@gnu-6 ilp32-19]$


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]