2012-07-19 02:58:22 +08:00
|
|
|
; Tests for the two-address instruction pass.
|
2014-05-30 18:09:59 +08:00
|
|
|
; RUN: llc -mtriple=arm-eabi -mcpu=cortex-a9 -arm-atomic-cfg-tidy=0 %s -o - | FileCheck %s
|
2012-07-19 02:58:22 +08:00
|
|
|
|
|
|
|
define void @PR13378() nounwind {
|
|
|
|
; This was orriginally a crasher trying to schedule the instructions.
|
2013-07-14 14:24:09 +08:00
|
|
|
; CHECK-LABEL: PR13378:
|
2012-09-18 09:42:45 +08:00
|
|
|
; CHECK: vld1.32
|
2016-07-16 06:31:14 +08:00
|
|
|
; CHECK-NEXT: vmov.i32
|
2013-10-12 02:09:19 +08:00
|
|
|
; CHECK-NEXT: vst1.32
|
|
|
|
; CHECK-NEXT: vst1.32
|
|
|
|
; CHECK-NEXT: vmov.f32
|
|
|
|
; CHECK-NEXT: vmov.f32
|
|
|
|
; CHECK-NEXT: vst1.32
|
2012-07-19 02:58:22 +08:00
|
|
|
|
|
|
|
entry:
|
2015-02-28 05:17:42 +08:00
|
|
|
%0 = load <4 x float>, <4 x float>* undef, align 4
|
2012-09-21 05:35:21 +08:00
|
|
|
store <4 x float> zeroinitializer, <4 x float>* undef, align 4
|
|
|
|
store <4 x float> %0, <4 x float>* undef, align 4
|
2012-07-19 02:58:22 +08:00
|
|
|
%1 = insertelement <4 x float> %0, float 1.000000e+00, i32 3
|
2012-09-21 05:35:21 +08:00
|
|
|
store <4 x float> %1, <4 x float>* undef, align 4
|
2012-07-19 02:58:22 +08:00
|
|
|
unreachable
|
|
|
|
}
|