27 lines · plain
1; RUN: llc -mtriple thumbv7-apple-ios -verify-machineinstrs -o - %s | FileCheck %s2 3; Make sure we emit the loads in ascending order, and form a vldmia.4;5; See vldm-liveness.mir for the bug this file originally testing.6 7define arm_aapcs_vfpcc <4 x float> @foo(ptr %ptr) {8; CHECK-LABEL: foo:9; CHECK: vldmia r0, {s0, s1}10; CHECK: vldr s3, [r0, #8]11; CHECK: vldr s2, [r0, #16]12 %val0 = load float, ptr %ptr13 %off1 = getelementptr float, ptr %ptr, i32 114 %val1 = load float, ptr %off115 %off4 = getelementptr float, ptr %ptr, i32 416 %val4 = load float, ptr %off417 %off2 = getelementptr float, ptr %ptr, i32 218 %val2 = load float, ptr %off219 20 %vec1 = insertelement <4 x float> undef, float %val0, i32 021 %vec2 = insertelement <4 x float> %vec1, float %val1, i32 122 %vec3 = insertelement <4 x float> %vec2, float %val4, i32 223 %vec4 = insertelement <4 x float> %vec3, float %val2, i32 324 25 ret <4 x float> %vec426}27