blob: 01df3b42d10732d69a13ad010f35aa99024ce659 [file] [log] [blame]
Chandler Carruth985454e2012-07-18 18:58:22 +00001; Tests for the two-address instruction pass.
Tim Northoverb4ddc082014-05-30 10:09:59 +00002; RUN: llc -mtriple=arm-eabi -mcpu=cortex-a9 -arm-atomic-cfg-tidy=0 %s -o - | FileCheck %s
Chandler Carruth985454e2012-07-18 18:58:22 +00003
4define void @PR13378() nounwind {
5; This was orriginally a crasher trying to schedule the instructions.
Stephen Lind24ab202013-07-14 06:24:09 +00006; CHECK-LABEL: PR13378:
Evan Cheng90ae8f82012-09-18 01:42:45 +00007; CHECK: vld1.32
Matthias Braun77219d82013-10-11 18:09:19 +00008; CHECK-NEXT: vst1.32
9; CHECK-NEXT: vst1.32
10; CHECK-NEXT: vmov.f32
11; CHECK-NEXT: vmov.f32
12; CHECK-NEXT: vst1.32
Chandler Carruth985454e2012-07-18 18:58:22 +000013
14entry:
Evan Cheng363d73c2012-09-20 21:35:21 +000015 %0 = load <4 x float>* undef, align 4
16 store <4 x float> zeroinitializer, <4 x float>* undef, align 4
17 store <4 x float> %0, <4 x float>* undef, align 4
Chandler Carruth985454e2012-07-18 18:58:22 +000018 %1 = insertelement <4 x float> %0, float 1.000000e+00, i32 3
Evan Cheng363d73c2012-09-20 21:35:21 +000019 store <4 x float> %1, <4 x float>* undef, align 4
Chandler Carruth985454e2012-07-18 18:58:22 +000020 unreachable
21}