[llvm-bugs] [Bug 25720] New: integrated assembler has poor diagnostics

via llvm-bugs llvm-bugs at lists.llvm.org
Wed Dec 2 12:21:14 PST 2015


https://llvm.org/bugs/show_bug.cgi?id=25720

            Bug ID: 25720
           Summary: integrated assembler has poor diagnostics
           Product: libraries
           Version: trunk
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P
         Component: Backend: ARM
          Assignee: unassignedbugs at nondot.org
          Reporter: nicolasweber at gmx.de
                CC: llvm-bugs at lists.llvm.org
    Classification: Unclassified

When trying to build boringssl with clang's integrated assembler, it complains
about this:

thakis at thakis:~/src/chrome/src$ cat arm.S
.fpu neon
.text
.align 4
.global foo
.hidden foo
.type foo, %function
and sp, sp, #0xffffffe0
thakis at thakis:~/src/chrome/src$
third_party/llvm-build/Release+Asserts/bin/clang -c arm.S -march=armv7-a 
-target arm-linux-androideab
arm.S:7:14: error: invalid operand for instruction
and sp, sp, #0xffffffe0
             ^


gas accepts this without complaints and converts it into a BIC instruction (a
and not b), as ~0xffffffe0 = 1f fits into the 8bit unshifted immediate.  The
integrated assembler should do this too:


thakis at thakis:~/src/chrome/src$
third_party/android_tools/ndk/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64/bin/arm-linux-androideabi-gcc
-c arm.S
thakis at thakis:~/src/chrome/src$
third_party/android_tools/ndk/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64/bin/arm-linux-androideabi-objdump
-D -marm arm.o 

arm.o:     file format elf32-littlearm


Disassembly of section .text:

00000000 <.text>:
   0:    e3cdd01f     bic    sp, sp, #31
   4:    e1a00000     nop            ; (mov r0, r0)
   8:    e1a00000     nop            ; (mov r0, r0)
   c:    e1a00000     nop            ; (mov r0, r0)

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20151202/67bb6dba/attachment.html>


More information about the llvm-bugs mailing list