1 ; RUN: llc < %s -mtriple=arm64-apple-ios | FileCheck %s 2 3 ; CHECK-LABEL: _test: 4 ; CHECK: fmov.2d v0, #2.00000000 5 ; CHECK: str q0, [sp] 6 ; CHECK: mov x8, sp 7 ; CHECK: ldr s0, [x8, w1, sxtw #2] 8 ; CHECK: str s0, [x0] 9 10 define void @test(float * %p1, i32 %v1) { 11 entry: 12 %v2 = extractelement <3 x float> <float 0.000000e+00, float 2.000000e+00, float 0.000000e+00>, i32 %v1 13 store float %v2, float* %p1, align 4 14 ret void 15 } 16 17 ; CHECK-LABEL: _test2 18 ; CHECK: movi.16b v0, #0x3f 19 ; CHECK: str q0, [sp] 20 ; CHECK: mov x8, sp 21 ; CHECK: ldr s0, [x8, w1, sxtw #2] 22 ; CHECK: str s0, [x0] 23 24 define void @test2(float * %p1, i32 %v1) { 25 entry: 26 %v2 = extractelement <3 x float> <float 0.7470588088035583, float 0.7470588088035583, float 0.7470588088035583>, i32 %v1 27 store float %v2, float* %p1, align 4 28 ret void 29 } 30