Evan Cheng | afff941 | 2011-12-20 18:26:50 +0000 | [diff] [blame] | 1 | ; RUN: llc < %s -O0 -relocation-model=dynamic-no-pic -mtriple=thumbv7-apple-ios | FileCheck %s --check-prefix=THUMB |
Chad Rosier | ae6f2cb | 2011-11-29 19:40:47 +0000 | [diff] [blame] | 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 |
Jakob Stoklund Olesen | 6d5b7cc | 2012-01-03 22:34:35 +0000 | [diff] [blame] | 18 | ; THUMB: add sp, #32 |
| 19 | ; THUMb: pop {r7, pc} |
Chad Rosier | ae6f2cb | 2011-11-29 19:40:47 +0000 | [diff] [blame] | 20 | ret i32 0 |
| 21 | } |
| 22 | |
| 23 | declare void @printArgsNoRet(i32 %a1, float %a2, i8 signext %a3, double %a4) |