[LLVMbugs] [Bug 12934] New: fatal error in backend with "+A" x86_64 asm constraint

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Thu May 24 06:00:55 PDT 2012


http://llvm.org/bugs/show_bug.cgi?id=12934

             Bug #: 12934
           Summary: fatal error in backend with "+A" x86_64 asm constraint
           Product: clang
           Version: trunk
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: LLVM Codegen
        AssignedTo: unassignedclangbugs at nondot.org
        ReportedBy: roman at binarylife.net
                CC: llvmbugs at cs.uiuc.edu
    Classification: Unclassified


$ cat test.c 
typedef unsigned int uint128_t __attribute__((__mode__(TI)));

uint128_t foo(uint128_t v) {
  asm ("#" : "+A"(v));
  return v;
}

$ clang -c test.c 2>&1 | head
fatal error: error in backend: Cannot select: 0x4f39700: i64 = build_pair
0x4f39500, 0x4f39600 [ORD=9] [ID=43]
  0x4f39500: i32,ch,glue = CopyFromReg 0x4f39400, 0x4f37480, 0x4f39400:1
[ORD=9] [ID=41]
    0x4f37480: i32 = Register %EAX [ORD=9] [ID=11]
    0x4f39400: ch,glue = inlineasm 0x4f37d80, 0x4f37080, 0x4f37180, 0x4f37280,
0x4f37380, 0x4f37480, 0x4f37580, 0x4f37e80, 0x4f37a80, 0x4f37c80, 0x4f39200,
0x4f39300, 0x4f37d80:1 [ORD=9] [ID=40]
      0x4f37080: i64 = TargetExternalSymbol'#' [ORD=9] [ID=7]
      0x4f37280: i64 = TargetConstant<0> [ORD=9] [ID=9]
      0x4f37380: i32 = TargetConstant<18> [ORD=9] [ID=10]
      0x4f37480: i32 = Register %EAX [ORD=9] [ID=11]
      0x4f37580: i32 = Register %EDX [ORD=9] [ID=12]
      0x4f37e80: i32 = TargetConstant<-2147483631> [ORD=9] [ID=15]

$ clang --version
clang version 3.2 (trunk 157386)
Target: x86_64-unknown-linux-gnu
Thread model: posix

-- 
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.



More information about the llvm-bugs mailing list