blob: 3c2f9e4d0ab5da6139793869ee407d7fd260b159 [file] [log] [blame]
; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 5
; RUN: opt -S --passes=slp-vectorizer -mtriple=aarch64 < %s | FileCheck %s
define void @test() {
; CHECK-LABEL: define void @test() {
; CHECK-NEXT: [[ENTRY:.*]]:
; CHECK-NEXT: [[G_2197_REAL32_PRE:%.*]] = load i32, ptr null, align 1
; CHECK-NEXT: [[G_2197_IMAG33_PRE:%.*]] = load i32, ptr getelementptr inbounds nuw ({ i32, i32 }, ptr null, i32 0, i32 1), align 1
; CHECK-NEXT: br label %[[IF_END:.*]]
; CHECK: [[IF_THEN:.*]]:
; CHECK-NEXT: br label %[[IF_END]]
; CHECK: [[IF_END]]:
; CHECK-NEXT: [[TMP4:%.*]] = phi i32 [ [[G_2197_IMAG33_PRE]], %[[ENTRY]] ], [ 0, %[[IF_THEN]] ]
; CHECK-NEXT: [[TMP2:%.*]] = phi i32 [ [[G_2197_REAL32_PRE]], %[[ENTRY]] ], [ 0, %[[IF_THEN]] ]
; CHECK-NEXT: store i32 [[TMP2]], ptr null, align 1
; CHECK-NEXT: br label %[[TRAP:.*]]
; CHECK: [[BB3:.*:]]
; CHECK-NEXT: store i32 [[TMP4]], ptr null, align 1
; CHECK-NEXT: ret void
; CHECK: [[TRAP]]:
; CHECK-NEXT: unreachable
;
entry:
%g_2197.real32.pre = load i32, ptr null, align 1
%g_2197.imag33.pre = load i32, ptr getelementptr inbounds nuw ({ i32, i32 }, ptr null, i32 0, i32 1), align 1
br label %if.end
if.then:
br label %if.end
if.end:
%g_2197.imag33 = phi i32 [ %g_2197.imag33.pre, %entry ], [ 0, %if.then ]
%g_2197.real32 = phi i32 [ %g_2197.real32.pre, %entry ], [ 0, %if.then ]
store i32 %g_2197.real32, ptr null, align 1
br label %trap
0:
store i32 %g_2197.imag33, ptr null, align 1
ret void
trap:
unreachable
}