You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
define <vscale x 2 x double> @test_fneg_select_svec(<vscale x 2 x i1> %cond, <vscale x 2 x double> %b) {
1114
1114
; CHECK-LABEL: @test_fneg_select_svec(
1115
-
; CHECK-NEXT: [[TMP1:%.*]] = select <vscale x 2 x i1> [[COND:%.*]], <vscale x 2 x double> zeroinitializer, <vscale x 2 x double> [[B:%.*]]
1116
-
; CHECK-NEXT: [[TMP2:%.*]] = fneg fast <vscale x 2 x double> [[TMP1]]
1117
-
; CHECK-NEXT: ret <vscale x 2 x double> [[TMP2]]
1115
+
; CHECK-NEXT: [[TMP2:%.*]] = fneg fast <vscale x 2 x double> [[TMP1:%.*]]
1116
+
; CHECK-NEXT: [[TMP3:%.*]] = select fast <vscale x 2 x i1> [[COND:%.*]], <vscale x 2 x double> shufflevector (<vscale x 2 x double> insertelement (<vscale x 2 x double> poison, double -0.000000e+00, i64 0), <vscale x 2 x double> poison, <vscale x 2 x i32> zeroinitializer), <vscale x 2 x double> [[TMP2]]
1117
+
; CHECK-NEXT: ret <vscale x 2 x double> [[TMP3]]
1118
1118
;
1119
1119
%1 = select <vscale x 2 x i1> %cond, <vscale x 2 x double> zeroinitializer, <vscale x 2 x double> %b
1120
1120
%2 = fneg fast <vscale x 2 x double> %1
1121
1121
ret <vscale x 2 x double> %2
1122
1122
}
1123
1123
1124
+
define <vscale x 2 x double> @test_fneg_select_svec_2(<vscale x 2 x i1> %cond, <vscale x 2 x double> %a) {
1125
+
; CHECK-LABEL: @test_fneg_select_svec_2(
1126
+
; CHECK-NEXT: [[A_NEG:%.*]] = fneg fast <vscale x 2 x double> [[A:%.*]]
1127
+
; CHECK-NEXT: [[TMP1:%.*]] = select fast <vscale x 2 x i1> [[COND:%.*]], <vscale x 2 x double> [[A_NEG]], <vscale x 2 x double> shufflevector (<vscale x 2 x double> insertelement (<vscale x 2 x double> poison, double -0.000000e+00, i64 0), <vscale x 2 x double> poison, <vscale x 2 x i32> zeroinitializer)
1128
+
; CHECK-NEXT: ret <vscale x 2 x double> [[TMP1]]
1129
+
;
1130
+
%1 = select <vscale x 2 x i1> %cond, <vscale x 2 x double> %a, <vscale x 2 x double> zeroinitializer
1131
+
%2 = fneg fast <vscale x 2 x double> %1
1132
+
ret <vscale x 2 x double> %2
1133
+
}
1134
+
1135
+
define <vscale x 2 x double> @test_fneg_select_svec_3(<vscale x 2 x i1> %cond, <vscale x 2 x double> %b) {
1136
+
; CHECK-LABEL: @test_fneg_select_svec_3(
1137
+
; CHECK-NEXT: ret <vscale x 2 x double> shufflevector (<vscale x 2 x double> insertelement (<vscale x 2 x double> poison, double -0.000000e+00, i64 0), <vscale x 2 x double> poison, <vscale x 2 x i32> zeroinitializer)
1138
+
;
1139
+
%1 = select <vscale x 2 x i1> %cond, <vscale x 2 x double> zeroinitializer, <vscale x 2 x double> zeroinitializer
Copy file name to clipboardExpand all lines: llvm/test/Transforms/InstSimplify/fp-nan.ll
+2-4Lines changed: 2 additions & 4 deletions
Original file line number
Diff line number
Diff line change
@@ -237,8 +237,7 @@ define <2 x double> @unary_fneg_nan_2(<2 x double> %x) {
237
237
; FIXME: This doesn't behave the same way as the fixed-length vectors above
238
238
define <vscale x 1 x double> @unary_fneg_nan_2_scalable_vec_0() {
239
239
; CHECK-LABEL: @unary_fneg_nan_2_scalable_vec_0(
240
-
; CHECK-NEXT: [[R:%.*]] = fneg <vscale x 1 x double> shufflevector (<vscale x 1 x double> insertelement (<vscale x 1 x double> poison, double 0xFFF1234567890ABC, i64 0), <vscale x 1 x double> poison, <vscale x 1 x i32> zeroinitializer)
241
-
; CHECK-NEXT: ret <vscale x 1 x double> [[R]]
240
+
; CHECK-NEXT: ret <vscale x 1 x double> shufflevector (<vscale x 1 x double> insertelement (<vscale x 1 x double> poison, double 0x7FF1234567890ABC, i64 0), <vscale x 1 x double> poison, <vscale x 1 x i32> zeroinitializer)
242
241
;
243
242
%r = fneg <vscale x 1 x double> splat (double0xFFF1234567890ABC)
244
243
ret <vscale x 1 x double> %r
@@ -247,8 +246,7 @@ define <vscale x 1 x double> @unary_fneg_nan_2_scalable_vec_0() {
247
246
; FIXME: This doesn't behave the same way as the fixed-length vectors above
248
247
define <vscale x 1 x double> @unary_fneg_nan_2_scalable_vec_1() {
249
248
; CHECK-LABEL: @unary_fneg_nan_2_scalable_vec_1(
250
-
; CHECK-NEXT: [[R:%.*]] = fneg <vscale x 1 x double> shufflevector (<vscale x 1 x double> insertelement (<vscale x 1 x double> poison, double 0x7FF0000000000001, i64 0), <vscale x 1 x double> poison, <vscale x 1 x i32> zeroinitializer)
251
-
; CHECK-NEXT: ret <vscale x 1 x double> [[R]]
249
+
; CHECK-NEXT: ret <vscale x 1 x double> shufflevector (<vscale x 1 x double> insertelement (<vscale x 1 x double> poison, double 0xFFF0000000000001, i64 0), <vscale x 1 x double> poison, <vscale x 1 x i32> zeroinitializer)
252
250
;
253
251
%r = fneg <vscale x 1 x double> splat (double0x7FF0000000000001)
0 commit comments