@@ -5,8 +5,7 @@ define <4 x i32> @umax_fixed(i32 %x, i32 %y) {
55; CHECK-LABEL: define <4 x i32> @umax_fixed(
66; CHECK-SAME: i32 [[X:%.*]], i32 [[Y:%.*]]) {
77; CHECK-NEXT: [[V_SCALAR:%.*]] = call i32 @llvm.umax.i32(i32 [[X]], i32 [[Y]])
8- ; CHECK-NEXT: [[TMP1:%.*]] = call <4 x i32> @llvm.umax.v4i32(<4 x i32> poison, <4 x i32> poison)
9- ; CHECK-NEXT: [[V:%.*]] = insertelement <4 x i32> [[TMP1]], i32 [[V_SCALAR]], i64 0
8+ ; CHECK-NEXT: [[V:%.*]] = insertelement <4 x i32> poison, i32 [[V_SCALAR]], i64 0
109; CHECK-NEXT: ret <4 x i32> [[V]]
1110;
1211 %x.insert = insertelement <4 x i32 > poison, i32 %x , i32 0
@@ -19,8 +18,7 @@ define <vscale x 4 x i32> @umax_scalable(i32 %x, i32 %y) {
1918; CHECK-LABEL: define <vscale x 4 x i32> @umax_scalable(
2019; CHECK-SAME: i32 [[X:%.*]], i32 [[Y:%.*]]) {
2120; CHECK-NEXT: [[V_SCALAR:%.*]] = call i32 @llvm.umax.i32(i32 [[X]], i32 [[Y]])
22- ; CHECK-NEXT: [[TMP1:%.*]] = call <vscale x 4 x i32> @llvm.umax.nxv4i32(<vscale x 4 x i32> poison, <vscale x 4 x i32> poison)
23- ; CHECK-NEXT: [[V:%.*]] = insertelement <vscale x 4 x i32> [[TMP1]], i32 [[V_SCALAR]], i64 0
21+ ; CHECK-NEXT: [[V:%.*]] = insertelement <vscale x 4 x i32> poison, i32 [[V_SCALAR]], i64 0
2422; CHECK-NEXT: ret <vscale x 4 x i32> [[V]]
2523;
2624 %x.insert = insertelement <vscale x 4 x i32 > poison, i32 %x , i32 0
@@ -33,8 +31,7 @@ define <4 x i32> @umax_fixed_lhs_const(i32 %x) {
3331; CHECK-LABEL: define <4 x i32> @umax_fixed_lhs_const(
3432; CHECK-SAME: i32 [[X:%.*]]) {
3533; CHECK-NEXT: [[V_SCALAR:%.*]] = call i32 @llvm.umax.i32(i32 1, i32 [[X]])
36- ; CHECK-NEXT: [[TMP1:%.*]] = call <4 x i32> @llvm.umax.v4i32(<4 x i32> <i32 1, i32 2, i32 3, i32 4>, <4 x i32> poison)
37- ; CHECK-NEXT: [[V:%.*]] = insertelement <4 x i32> [[TMP1]], i32 [[V_SCALAR]], i64 0
34+ ; CHECK-NEXT: [[V:%.*]] = insertelement <4 x i32> poison, i32 [[V_SCALAR]], i64 0
3835; CHECK-NEXT: ret <4 x i32> [[V]]
3936;
4037 %x.insert = insertelement <4 x i32 > poison, i32 %x , i32 0
@@ -46,8 +43,7 @@ define <4 x i32> @umax_fixed_rhs_const(i32 %x) {
4643; CHECK-LABEL: define <4 x i32> @umax_fixed_rhs_const(
4744; CHECK-SAME: i32 [[X:%.*]]) {
4845; CHECK-NEXT: [[V_SCALAR:%.*]] = call i32 @llvm.umax.i32(i32 [[X]], i32 1)
49- ; CHECK-NEXT: [[TMP1:%.*]] = call <4 x i32> @llvm.umax.v4i32(<4 x i32> poison, <4 x i32> <i32 1, i32 2, i32 3, i32 4>)
50- ; CHECK-NEXT: [[V:%.*]] = insertelement <4 x i32> [[TMP1]], i32 [[V_SCALAR]], i64 0
46+ ; CHECK-NEXT: [[V:%.*]] = insertelement <4 x i32> poison, i32 [[V_SCALAR]], i64 0
5147; CHECK-NEXT: ret <4 x i32> [[V]]
5248;
5349 %x.insert = insertelement <4 x i32 > poison, i32 %x , i32 0
@@ -59,8 +55,7 @@ define <vscale x 4 x i32> @umax_scalable_lhs_const(i32 %x) {
5955; CHECK-LABEL: define <vscale x 4 x i32> @umax_scalable_lhs_const(
6056; CHECK-SAME: i32 [[X:%.*]]) {
6157; CHECK-NEXT: [[V_SCALAR:%.*]] = call i32 @llvm.umax.i32(i32 42, i32 [[X]])
62- ; CHECK-NEXT: [[TMP1:%.*]] = call <vscale x 4 x i32> @llvm.umax.nxv4i32(<vscale x 4 x i32> splat (i32 42), <vscale x 4 x i32> poison)
63- ; CHECK-NEXT: [[V:%.*]] = insertelement <vscale x 4 x i32> [[TMP1]], i32 [[V_SCALAR]], i64 0
58+ ; CHECK-NEXT: [[V:%.*]] = insertelement <vscale x 4 x i32> poison, i32 [[V_SCALAR]], i64 0
6459; CHECK-NEXT: ret <vscale x 4 x i32> [[V]]
6560;
6661 %x.insert = insertelement <vscale x 4 x i32 > poison, i32 %x , i32 0
@@ -72,8 +67,7 @@ define <vscale x 4 x i32> @umax_scalable_rhs_const(i32 %x) {
7267; CHECK-LABEL: define <vscale x 4 x i32> @umax_scalable_rhs_const(
7368; CHECK-SAME: i32 [[X:%.*]]) {
7469; CHECK-NEXT: [[V_SCALAR:%.*]] = call i32 @llvm.umax.i32(i32 [[X]], i32 42)
75- ; CHECK-NEXT: [[TMP1:%.*]] = call <vscale x 4 x i32> @llvm.umax.nxv4i32(<vscale x 4 x i32> poison, <vscale x 4 x i32> splat (i32 42))
76- ; CHECK-NEXT: [[V:%.*]] = insertelement <vscale x 4 x i32> [[TMP1]], i32 [[V_SCALAR]], i64 0
70+ ; CHECK-NEXT: [[V:%.*]] = insertelement <vscale x 4 x i32> poison, i32 [[V_SCALAR]], i64 0
7771; CHECK-NEXT: ret <vscale x 4 x i32> [[V]]
7872;
7973 %x.insert = insertelement <vscale x 4 x i32 > poison, i32 %x , i32 0
@@ -100,8 +94,7 @@ define <4 x float> @fabs_fixed(float %x) {
10094; CHECK-LABEL: define <4 x float> @fabs_fixed(
10195; CHECK-SAME: float [[X:%.*]]) {
10296; CHECK-NEXT: [[V_SCALAR:%.*]] = call float @llvm.fabs.f32(float [[X]])
103- ; CHECK-NEXT: [[TMP1:%.*]] = call <4 x float> @llvm.fabs.v4f32(<4 x float> poison)
104- ; CHECK-NEXT: [[V:%.*]] = insertelement <4 x float> [[TMP1]], float [[V_SCALAR]], i64 0
97+ ; CHECK-NEXT: [[V:%.*]] = insertelement <4 x float> poison, float [[V_SCALAR]], i64 0
10598; CHECK-NEXT: ret <4 x float> [[V]]
10699;
107100 %x.insert = insertelement <4 x float > poison, float %x , i32 0
@@ -113,8 +106,7 @@ define <vscale x 4 x float> @fabs_scalable(float %x) {
113106; CHECK-LABEL: define <vscale x 4 x float> @fabs_scalable(
114107; CHECK-SAME: float [[X:%.*]]) {
115108; CHECK-NEXT: [[V_SCALAR:%.*]] = call float @llvm.fabs.f32(float [[X]])
116- ; CHECK-NEXT: [[TMP1:%.*]] = call <vscale x 4 x float> @llvm.fabs.nxv4f32(<vscale x 4 x float> poison)
117- ; CHECK-NEXT: [[V:%.*]] = insertelement <vscale x 4 x float> [[TMP1]], float [[V_SCALAR]], i64 0
109+ ; CHECK-NEXT: [[V:%.*]] = insertelement <vscale x 4 x float> poison, float [[V_SCALAR]], i64 0
118110; CHECK-NEXT: ret <vscale x 4 x float> [[V]]
119111;
120112 %x.insert = insertelement <vscale x 4 x float > poison, float %x , i32 0
@@ -126,8 +118,7 @@ define <4 x float> @fma_fixed(float %x, float %y, float %z) {
126118; CHECK-LABEL: define <4 x float> @fma_fixed(
127119; CHECK-SAME: float [[X:%.*]], float [[Y:%.*]], float [[Z:%.*]]) {
128120; CHECK-NEXT: [[V_SCALAR:%.*]] = call float @llvm.fma.f32(float [[X]], float [[Y]], float [[Z]])
129- ; CHECK-NEXT: [[TMP1:%.*]] = call <4 x float> @llvm.fma.v4f32(<4 x float> poison, <4 x float> poison, <4 x float> poison)
130- ; CHECK-NEXT: [[V:%.*]] = insertelement <4 x float> [[TMP1]], float [[V_SCALAR]], i64 0
121+ ; CHECK-NEXT: [[V:%.*]] = insertelement <4 x float> poison, float [[V_SCALAR]], i64 0
131122; CHECK-NEXT: ret <4 x float> [[V]]
132123;
133124 %x.insert = insertelement <4 x float > poison, float %x , i32 0
@@ -141,8 +132,7 @@ define <vscale x 4 x float> @fma_scalable(float %x, float %y, float %z) {
141132; CHECK-LABEL: define <vscale x 4 x float> @fma_scalable(
142133; CHECK-SAME: float [[X:%.*]], float [[Y:%.*]], float [[Z:%.*]]) {
143134; CHECK-NEXT: [[V_SCALAR:%.*]] = call float @llvm.fma.f32(float [[X]], float [[Y]], float [[Z]])
144- ; CHECK-NEXT: [[TMP1:%.*]] = call <vscale x 4 x float> @llvm.fma.nxv4f32(<vscale x 4 x float> poison, <vscale x 4 x float> poison, <vscale x 4 x float> poison)
145- ; CHECK-NEXT: [[V:%.*]] = insertelement <vscale x 4 x float> [[TMP1]], float [[V_SCALAR]], i64 0
135+ ; CHECK-NEXT: [[V:%.*]] = insertelement <vscale x 4 x float> poison, float [[V_SCALAR]], i64 0
146136; CHECK-NEXT: ret <vscale x 4 x float> [[V]]
147137;
148138 %x.insert = insertelement <vscale x 4 x float > poison, float %x , i32 0
@@ -156,8 +146,7 @@ define <4 x float> @scalar_argument(float %x) {
156146; CHECK-LABEL: define <4 x float> @scalar_argument(
157147; CHECK-SAME: float [[X:%.*]]) {
158148; CHECK-NEXT: [[V_SCALAR:%.*]] = call float @llvm.powi.f32.i32(float [[X]], i32 42)
159- ; CHECK-NEXT: [[TMP1:%.*]] = call <4 x float> @llvm.powi.v4f32.i32(<4 x float> poison, i32 42)
160- ; CHECK-NEXT: [[V:%.*]] = insertelement <4 x float> [[TMP1]], float [[V_SCALAR]], i64 0
149+ ; CHECK-NEXT: [[V:%.*]] = insertelement <4 x float> poison, float [[V_SCALAR]], i64 0
161150; CHECK-NEXT: ret <4 x float> [[V]]
162151;
163152 %x.insert = insertelement <4 x float > poison, float %x , i32 0
0 commit comments