Chad Rosier | ae6f2cb | 2011-11-29 19:40:47 +0000 | [diff] [blame^] | 1 | ; RUN: llc < %s -O0 -relocation-model=dynamic-no-pic -mtriple=thumbv7-apple-darwin | FileCheck %s --check-prefix=THUMB |
| 2 | |
| 3 | ; Target-specific selector can't properly handle the double because it isn't |
| 4 | ; being passed via a register, so the materialized arguments become dead code. |
| 5 | |
| 6 | define i32 @main(i32 %argc, i8** %argv) nounwind { |
| 7 | entry: |
| 8 | ; THUMB: main |
| 9 | call void @printArgsNoRet(i32 1, float 0x4000CCCCC0000000, i8 signext 99, double 4.100000e+00) |
| 10 | ; THUMB: blx _printArgsNoRet |
| 11 | ; THUMB-NOT: ldr |
| 12 | ; THUMB-NOT: vldr |
| 13 | ; THUMB-NOT: vmov |
| 14 | ; THUMB-NOT: ldr |
| 15 | ; THUMB-NOT: sxtb |
| 16 | ; THUMB: movs r0, #0 |
| 17 | ; THUMB: movt r0, #0 |
| 18 | ; THUMB: add sp, #32 |
| 19 | ; THUMb: pop {r7, pc} |
| 20 | ret i32 0 |
| 21 | } |
| 22 | |
| 23 | declare void @printArgsNoRet(i32 %a1, float %a2, i8 signext %a3, double %a4) |