1; RUN: llc < %s -mtriple=thumbv7s-apple-ios7.0.0 | FileCheck %s 2 3define arm_aapcs_vfpcc { <8 x half>, <8 x half> } @f1() { 4; CHECK-LABEL: _f1 5; CHECK: vpush {d8} 6; CHECK-NEXT: vmov.f64 d8, #5.000000e-01 7; CHECK-NEXT: vmov.i32 d8, #0x0 8; CHECK-NEXT: vmov.i32 d0, #0x0 9; CHECK-NEXT: vmov.i32 d1, #0x0 10; CHECK-NEXT: vmov.i32 d2, #0x0 11; CHECK-NEXT: vmov.i32 d3, #0x0 12; CHECK-NEXT: vmov.i32 d4, #0x0 13; CHECK-NEXT: vmov.i32 d5, #0x0 14; CHECK-NEXT: vmov.i32 d6, #0x0 15; CHECK-NEXT: vmov.i32 d7, #0x0 16; CHECK-NEXT: vmov.f32 s1, s16 17; CHECK-NEXT: vmov.f32 s3, s16 18; CHECK-NEXT: vmov.f32 s5, s16 19; CHECK-NEXT: vmov.f32 s7, s16 20; CHECK-NEXT: vmov.f32 s9, s16 21; CHECK-NEXT: vmov.f32 s11, s16 22; CHECK-NEXT: vmov.f32 s13, s16 23; CHECK-NEXT: vmov.f32 s15, s16 24; CHECK-NEXT: vpop {d8} 25; CHECK-NEXT: bx lr 26 ret { <8 x half>, <8 x half> } zeroinitializer 27} 28 29define swiftcc { <8 x half>, <8 x half> } @f2() { 30; CHECK-LABEL: _f2 31; CHECK: vpush {d8} 32; CHECK-NEXT: vmov.f64 d8, #5.000000e-01 33; CHECK-NEXT: vmov.i32 d8, #0x0 34; CHECK-NEXT: vmov.i32 d0, #0x0 35; CHECK-NEXT: vmov.i32 d1, #0x0 36; CHECK-NEXT: vmov.i32 d2, #0x0 37; CHECK-NEXT: vmov.i32 d3, #0x0 38; CHECK-NEXT: vmov.i32 d4, #0x0 39; CHECK-NEXT: vmov.i32 d5, #0x0 40; CHECK-NEXT: vmov.i32 d6, #0x0 41; CHECK-NEXT: vmov.i32 d7, #0x0 42; CHECK-NEXT: vmov.f32 s1, s16 43; CHECK-NEXT: vmov.f32 s3, s16 44; CHECK-NEXT: vmov.f32 s5, s16 45; CHECK-NEXT: vmov.f32 s7, s16 46; CHECK-NEXT: vmov.f32 s9, s16 47; CHECK-NEXT: vmov.f32 s11, s16 48; CHECK-NEXT: vmov.f32 s13, s16 49; CHECK-NEXT: vmov.f32 s15, s16 50; CHECK-NEXT: vpop {d8} 51; CHECK-NEXT: bx lr 52 ret { <8 x half>, <8 x half> } zeroinitializer 53} 54 55define fastcc { <8 x half>, <8 x half> } @f3() { 56; CHECK-LABEL: _f3 57; CHECK: vpush {d8} 58; CHECK-NEXT: vmov.f64 d8, #5.000000e-01 59; CHECK-NEXT: vmov.i32 d8, #0x0 60; CHECK-NEXT: vmov.i32 d0, #0x0 61; CHECK-NEXT: vmov.i32 d1, #0x0 62; CHECK-NEXT: vmov.i32 d2, #0x0 63; CHECK-NEXT: vmov.i32 d3, #0x0 64; CHECK-NEXT: vmov.i32 d4, #0x0 65; CHECK-NEXT: vmov.i32 d5, #0x0 66; CHECK-NEXT: vmov.i32 d6, #0x0 67; CHECK-NEXT: vmov.i32 d7, #0x0 68; CHECK-NEXT: vmov.f32 s1, s16 69; CHECK-NEXT: vmov.f32 s3, s16 70; CHECK-NEXT: vmov.f32 s5, s16 71; CHECK-NEXT: vmov.f32 s7, s16 72; CHECK-NEXT: vmov.f32 s9, s16 73; CHECK-NEXT: vmov.f32 s11, s16 74; CHECK-NEXT: vmov.f32 s13, s16 75; CHECK-NEXT: vmov.f32 s15, s16 76; CHECK-NEXT: vpop {d8} 77; CHECK-NEXT: bx lr 78 79 ret { <8 x half>, <8 x half> } zeroinitializer 80} 81 82