[llvm-commits] [llvm] r141365 - in /llvm/trunk: lib/Target/ARM/ARMISelDAGToDAG.cpp lib/Target/ARM/ARMISelLowering.cpp lib/Target/ARM/ARMInstrInfo.td lib/Target/ARM/ARMInstrThumb2.td test/CodeGen/ARM/iabs.ll test/CodeGen/Thumb/iabs.ll

Eric Christopher echristo at apple.com
Fri Oct 7 14:45:48 PDT 2011


Given that you're targeting a different OS and triple I'm not surprised it didn't work. :)

You may want to try using -mthumb, or here's the command line and output I gave to Anton earlier:

[yendi:Data/builds/build-llvm] echristo% /Volumes/Data/builds/build-llvm/Debug+Asserts/bin/clang -no-integrated-as -ccc-install-dir /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/ -arch armv6 -fvisibility=hidden -DVISIBILITY_HIDDEN -mkernel -DKERNEL_USE -Wall -Werror -O3 -fomit-frame-pointer -miphoneos-version-min=1.0 -mthumb -c -o /Volumes/Data/builds/build-llvm/tools/clang/runtime/compiler-rt/clang_darwin/cc_kext/armv6/SubDir.lib/floatsidf.o /Volumes/Data/sources/llvm/projects/compiler-rt/lib/floatsidf.c -v
clang version 3.0 (trunk 141374)
Target: arm-apple-darwin11.2.0
Thread model: posix
"/Volumes/Data/builds/build-llvm/Debug+Asserts/bin/clang" -cc1 -triple thumbv6-apple-ios1.0.0 -S -disable-free -main-file-name floatsidf.c -static-define -mrelocation-model static -fforbid-guard-variables -target-abi apcs-gnu -target-cpu arm1136jf-s -mfloat-abi soft -target-feature +soft-float-abi -backend-option -arm-long-calls -backend-option -arm-strict-align -backend-option -arm-darwin-use-movt=0 -target-linker-version 127.2 -v -coverage-file /var/folders/9p/2n1d124n1fd9bvkb815y0j6r0000gp/T/floatsidf-DlaN0M.s -resource-dir /Volumes/Data/builds/build-llvm/Debug+Asserts/bin/../lib/clang/3.0 -D VISIBILITY_HIDDEN -D KERNEL_USE -fmodule-cache-path /var/folders/9p/2n1d124n1fd9bvkb815y0j6r0000gp/T/clang-module-cache -O3 -Wall -Werror -fno-dwarf2-cfi-asm -ferror-limit 19 -fmessage-length 80 -fvisibility hidden -ffreestanding -fno-builtin -fblocks -fblocks-runtime-optional -fno-rtti -fno-use-cxa-atexit -fsjlj-exceptions -fno-common -fdiagnostics-show-option -fcolor-diagnostics -o /var/folders/9p/2n1d124n1fd9bvkb815y0j6r0000gp/T/floatsidf-DlaN0M.s -x c /Volumes/Data/sources/llvm/projects/compiler-rt/lib/floatsidf.c
clang -cc1 version 3.0 based upon llvm 3.0svn hosted on x86_64-apple-darwin11.2.0
#include "..." search starts here:
#include <...> search starts here:
/usr/local/include
/Volumes/Data/builds/build-llvm/Debug+Asserts/bin/../lib/clang/3.0/include
/usr/include
/System/Library/Frameworks (framework directory)
/Library/Frameworks (framework directory)
End of search list.
"/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/as" -arch armv6 -static -o /Volumes/Data/builds/build-llvm/tools/clang/runtime/compiler-rt/clang_darwin/cc_kext/armv6/SubDir.lib/floatsidf.o /var/folders/9p/2n1d124n1fd9bvkb815y0j6r0000gp/T/floatsidf-DlaN0M.s
/var/folders/9p/2n1d124n1fd9bvkb815y0j6r0000gp/T/floatsidf-DlaN0M.s:19:cannot honor width suffix -- `rsb r0,r0,#0'
clang: error: assembler command failed with exit code 1 (use -v to see invocation)

which definitely duplicates the problem.

-eric

On Oct 7, 2011, at 2:39 PM, Ana Pazos wrote:

> Hi Anton and Eric,
> 
> I tried to reproduce the issue with the latest LLVM code and compile-rt
> tests.
> 
> The file floatsidf.c compiled fine. 
> 
> This is command line I used:
> clang -c -ccc-host-triple armv6-none-linux-gnueabi -mfloat-abi=softfp
> -integrated-as -O3 -o floatsidf.o floatsidf.c
> 
> What is your command line? Did you set any other flags?
> 
> 
> Disassembled floatsidf.o file:
> 00000000 <__aeabi_i2d>:
>   0:   e92d4800        push    {fp, lr}
>   4:   e3500000        cmp     r0, #0
>   8:   1a000002        bne     18 <__aeabi_i2d+0x18>
>   c:   ed9f0b16        vldr    d0, [pc, #88]   ; 6c <__aeabi_i2d+0x6c>
>  10:   ec510b10        vmov    r0, r1, d0
>  14:   e8bd8800        pop     {fp, pc}
>  18:   e1b01000        movs    r1, r0
>  1c:   e2000102        and     r0, r0, #-2147483648    ; 0x80000000
>  20:   42611000        rsbmi   r1, r1, #0
>  24:   e16fef11        clz     lr, r1
>  28:   e26e301f        rsb     r3, lr, #31
>  2c:   e263c034        rsb     ip, r3, #52     ; 0x34
>  30:   e26c2020        rsb     r2, ip, #32
>  34:   e2633014        rsb     r3, r3, #20
>  38:   e3530000        cmp     r3, #0
>  3c:   e1a02231        lsr     r2, r1, r2
>  40:   a1a02311        lslge   r2, r1, r3
>  44:   e3a0301e        mov     r3, #30
>  48:   e3833b01        orr     r3, r3, #1024   ; 0x400
>  4c:   e043300e        sub     r3, r3, lr
>  50:   e2222601        eor     r2, r2, #1048576        ; 0x100000
>  54:   e0822a03        add     r2, r2, r3, lsl #20
>  58:   e1a01c11        lsl     r1, r1, ip
>  5c:   e1820000        orr     r0, r2, r0
>  60:   ec401b10        vmov    d0, r1, r0
>  64:   ec510b10        vmov    r0, r1, d0
>  68:   e8bd8800        pop     {fp, pc}
> 
> Note: from floatsidf.i file: void __aeabi_i2d() __attribute__((alias("__"
> "floatsidf")));;
> 
> Thanks,
> Ana.
> --
> Qualcomm Innovation Center, Inc is a member of Code Aurora Forum
> 
> 
> -----Original Message-----
> From: llvm-commits-bounces at cs.uiuc.edu
> [mailto:llvm-commits-bounces at cs.uiuc.edu] On Behalf Of Eric Christopher
> Sent: Friday, October 07, 2011 11:57 AM
> To: Anton Korobeynikov
> Cc: llvm-commits at cs.uiuc.edu
> Subject: Re: [llvm-commits] [llvm] r141365 - in /llvm/trunk:
> lib/Target/ARM/ARMISelDAGToDAG.cpp lib/Target/ARM/ARMISelLowering.cpp
> lib/Target/ARM/ARMInstrInfo.td lib/Target/ARM/ARMInstrThumb2.td
> test/CodeGen/ARM/iabs.ll test/CodeGen/Thumb/iabs.ll
> 
> 
> On Oct 7, 2011, at 11:52 AM, Anton Korobeynikov wrote:
> 
>> Hi Eric,
>> 
>>> llvm/projects/compiler-rt/lib/floatsidf.c
>>> compiled with ToT clang.
>> Which mode? ARM? Thumb2? Thumb1? For which ARM arch? compiler-rt has
>> many different modes :)
> 
> armv6 it looks like :)
> 
>  COMPILE:   clang_darwin/cc_kext/armv6:
> /Volumes/Data/sources/llvm/projects/compiler-rt/lib/floatsidf.c
> 
> /var/folders/9p/2n1d124n1fd9bvkb815y0j6r0000gp/T/floatsidf-TXq5db.s:19:canno
> t honor width suffix -- `rsb r0,r0,#0'
> clang: error: assembler command failed with exit code 1 (use -v to see
> invocation)
> 
> 
> -eric
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
> 





More information about the llvm-commits mailing list