Files
clang-p2996/llvm/test/CodeGen/SystemZ/expand-zext-pseudo.ll
Kai Nacke a1710eb3cd [SystemZ][NFC] Opaque pointer migration.
The LIT test cases were migrated with the script provided by
Nikita Popov.

No manual changes were made. Committed without review since
no functional changes, after consultation with uweigand.
2022-10-11 21:09:43 +00:00

130 lines
4.4 KiB
LLVM

; RUN: llc < %s -mtriple=s390x-linux-gnu -mcpu=z13 -verify-machineinstrs | FileCheck %s
;
; Test that a def operand of super-reg is not dropped during post RA pseudo
; expansion in expandZExtPseudo().
define void @fun_llvm_stress_reduced(ptr, ptr, ptr, i32) {
; CHECK: .text
BB:
%A = alloca i32
%Sl24 = select i1 undef, ptr %1, ptr %1
%L26 = load i16, ptr undef
%L32 = load i32, ptr %Sl24
br label %CF847
CF847: ; preds = %CF878, %BB
%L61 = load i16, ptr undef
br label %CF878
CF878: ; preds = %CF847
%Sl67 = select i1 undef, <2 x i32> undef, <2 x i32> undef
%Cmp68 = icmp ugt i32 undef, %3
br i1 %Cmp68, label %CF847, label %CF863
CF863: ; preds = %CF878
%L84 = load i16, ptr undef
br label %CF825
CF825: ; preds = %CF825, %CF863
%Sl105 = select i1 undef, i1 undef, i1 undef
br i1 %Sl105, label %CF825, label %CF856
CF856: ; preds = %CF856, %CF825
%Cmp114 = icmp ult i16 -24837, %L61
br i1 %Cmp114, label %CF856, label %CF875
CF875: ; preds = %CF856
%Shuff124 = shufflevector <2 x i32> undef, <2 x i32> undef, <2 x i32> <i32 1, i32 3>
br label %CF827
CF827: ; preds = %CF923, %CF911, %CF875
%Sl142 = select i1 undef, i64 undef, i64 -1
%B148 = sdiv i32 409071, 409071
%E153 = extractelement <2 x i32> %Shuff124, i32 1
br label %CF911
CF911: ; preds = %CF827
br i1 undef, label %CF827, label %CF867
CF867: ; preds = %CF911
br label %CF870
CF870: ; preds = %CF870, %CF867
store i8 0, ptr %0
%FC176 = fptoui double undef to i1
br i1 %FC176, label %CF870, label %CF923
CF923: ; preds = %CF870
%L179 = load i16, ptr undef
%Sl191 = select i1 undef, ptr %A, ptr %A
br i1 false, label %CF827, label %CF828
CF828: ; preds = %CF905, %CF923
%B205 = urem i16 -7553, undef
%E209 = extractelement <2 x i32> %Sl67, i32 1
%Cmp215 = icmp ugt i16 %L179, 0
br label %CF905
CF905: ; preds = %CF828
%E231 = extractelement <4 x i1> undef, i32 1
br i1 %E231, label %CF828, label %CF829
CF829: ; preds = %CF909, %CF829, %CF905
%B234 = udiv i16 %L26, %L84
br i1 undef, label %CF829, label %CF894
CF894: ; preds = %CF894, %CF829
store i64 %Sl142, ptr %Sl191
%Sl241 = select i1 %Cmp114, i1 false, i1 %Cmp215
br i1 %Sl241, label %CF894, label %CF907
CF907: ; preds = %CF894
%B247 = udiv i32 0, %E153
br label %CF909
CF909: ; preds = %CF907
store i1 %FC176, ptr undef
%Cmp263 = icmp ugt i1 undef, %Sl241
br i1 %Cmp263, label %CF829, label %CF830
CF830: ; preds = %CF909
%B304 = urem i16 %L84, %B205
%I311 = insertelement <2 x i32> %Shuff124, i32 %B247, i32 1
store i8 0, ptr %0
%Sl373 = select i1 %Cmp68, i32 0, i32 %E153
br label %CF833
CF833: ; preds = %CF880, %CF830
br label %CF880
CF880: ; preds = %CF833
%Cmp412 = icmp ne i16 %B234, -18725
br i1 %Cmp412, label %CF833, label %CF865
CF865: ; preds = %CF880
store double 0.000000e+00, ptr %Sl24
br label %CF860
CF860: ; preds = %CF860, %CF865
store i8 0, ptr %2
%Cmp600 = icmp sge i32 %B148, undef
br i1 %Cmp600, label %CF860, label %CF913
CF913: ; preds = %CF860
store i32 %E209, ptr undef
store i32 %Sl373, ptr undef
%Cmp771 = icmp ule i32 undef, %L32
br label %CF842
CF842: ; preds = %CF925, %CF913
br label %CF925
CF925: ; preds = %CF842
%Cmp778 = icmp sgt i1 %Cmp771, %Sl241
br i1 %Cmp778, label %CF842, label %CF898
CF898: ; preds = %CF925
%Sl785 = select i1 %Cmp600, i16 undef, i16 %B304
unreachable
}