[LLVMbugs] [Bug 9762] New: integrated-as fails to compile inline asm

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Wed Apr 20 13:10:53 PDT 2011


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

           Summary: integrated-as fails to compile inline asm
           Product: libraries
           Version: trunk
          Platform: PC
        OS/Version: All
            Status: NEW
          Severity: normal
          Priority: P
         Component: Backend: ARM
        AssignedTo: unassignedbugs at nondot.org
        ReportedBy: damjan.marion at gmail.com
                CC: llvmbugs at cs.uiuc.edu


Created an attachment (id=6488)
 --> (http://llvm.org/bugs/attachment.cgi?id=6488)
preprocessed source

/opt/llvm/bin/clang -integrated-as -mcpu=cortex-a9 -ccc-host-triple
arm-elf-freebsd -mfloat-abi=soft -c -O -pipe  -std=c99  -Wall -Wredundant-decls
-Wnested-externs -Wstrict-prototypes  -Wmissing-prototypes -Wpointer-arith
-Winline -Wcast-qual  -Wundef -Wno-pointer-sign -nostdinc  -I.
-I/Volumes/data/src/freebsd/sys -I/Volumes/data/src/freebsd/sys/contrib/altq
-I/Volumes/data/src/freebsd/sys/contrib/libfdt -D_KERNEL
-DHAVE_KERNEL_OPTION_HEADERS -include opt_global.h -march=armv6 -ffreestanding 
xxx.c
clang: warning: argument unused during compilation: '-march=armv6'
In file included from /Volumes/data/src/freebsd/sys/ddb/db_script.c:1:
In file included from /Volumes/data/src/freebsd/sys/ddb/db_script.c:62:
In file included from /Volumes/data/src/freebsd/sys/sys/libkern.h:39:
In file included from /Volumes/data/src/freebsd/sys/sys/systm.h:41:
./machine/atomic.h:109:45: error: invalid operand for instruction
 do { u_int cpsr_save, tmp; __asm volatile( "mrs  %0, cpsr;" "orr  %1, %0, %2;"
"msr  cpsr_all, %1;" : "=r" (cpsr_save), "=r" (tmp) : "I" ((1 ...
                                            ^
<inline asm>:1:34: note: instantiated into assembly here
        mrs  r0, cpsr;orr  r2, r0, #192;msr  cpsr_all, r2;
                                        ^
In file included from /Volumes/data/src/freebsd/sys/ddb/db_script.c:1:
In file included from /Volumes/data/src/freebsd/sys/ddb/db_script.c:62:
In file included from /Volumes/data/src/freebsd/sys/sys/libkern.h:39:
In file included from /Volumes/data/src/freebsd/sys/sys/systm.h:41:
./machine/atomic.h:109:256: error: invalid operand for instruction
  ...(*p == cmpval) { *p = newval; ret = 1; } else { ret = 0; } }); __asm
volatile( "msr  cpsr_all, %0" : : "r" (cpsr_save) : "cc" ); } while(0);
                                                                               
    ^
<inline asm>:1:2: note: instantiated into assembly here
        msr  cpsr_all, r0
        ^
In file included from /Volumes/data/src/freebsd/sys/ddb/db_script.c:1:
In file included from /Volumes/data/src/freebsd/sys/ddb/db_script.c:62:
In file included from /Volumes/data/src/freebsd/sys/sys/libkern.h:39:
In file included from /Volumes/data/src/freebsd/sys/sys/systm.h:41:
./machine/atomic.h:109:256: error: invalid operand for instruction
  ...(*p == cmpval) { *p = newval; ret = 1; } else { ret = 0; } }); __asm
volatile( "msr  cpsr_all, %0" : : "r" (cpsr_save) : "cc" ); } while(0);
                                                                               
    ^
<inline asm>:1:2: note: instantiated into assembly here
        msr  cpsr_all, r0
        ^

Code is latest svn trunk.

-- 
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