Skip to content

Commit 28026e2

Browse files
hubert-reinterpretcastsvkeerthy
authored andcommitted
Revert "[PowerPC] extend smaller splats into bigger splats (#141282)"
The subject commit causes the build to ICE on AIX: https://lab.llvm.org/buildbot/#/builders/64/builds/3890/steps/5/logs/stdio This reverts commit 7fa3658.
1 parent b6cc8fd commit 28026e2

File tree

9 files changed

+651
-541
lines changed

9 files changed

+651
-541
lines changed

llvm/lib/Target/PowerPC/PPCISelLowering.cpp

Lines changed: 6 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -9667,25 +9667,7 @@ SDValue PPCTargetLowering::LowerBUILD_VECTOR(SDValue Op,
96679667
}
96689668
}
96699669

9670-
bool IsSplat64 = false;
9671-
uint64_t SplatBits = 0;
9672-
int32_t SextVal = 0;
9673-
if (BVNIsConstantSplat) {
9674-
if (SplatBitSize <= 32) {
9675-
SplatBits = APSplatBits.getZExtValue();
9676-
SextVal = SignExtend32(SplatBits, SplatBitSize);
9677-
} else if (SplatBitSize == 64) {
9678-
int64_t Splat64Val = APSplatBits.getSExtValue();
9679-
SplatBits = (uint64_t)Splat64Val;
9680-
SextVal = (int32_t)SplatBits;
9681-
bool P9Vector = Subtarget.hasP9Vector();
9682-
int32_t Hi = P9Vector ? 127 : 15;
9683-
int32_t Lo = P9Vector ? -128 : -16;
9684-
IsSplat64 = Splat64Val >= Lo && Splat64Val <= Hi;
9685-
}
9686-
}
9687-
9688-
if (!BVNIsConstantSplat || (SplatBitSize > 32 && !IsSplat64)) {
9670+
if (!BVNIsConstantSplat || SplatBitSize > 32) {
96899671
unsigned NewOpcode = PPCISD::LD_SPLAT;
96909672

96919673
// Handle load-and-splat patterns as we have instructions that will do this
@@ -9771,6 +9753,7 @@ SDValue PPCTargetLowering::LowerBUILD_VECTOR(SDValue Op,
97719753
return SDValue();
97729754
}
97739755

9756+
uint64_t SplatBits = APSplatBits.getZExtValue();
97749757
uint64_t SplatUndef = APSplatUndef.getZExtValue();
97759758
unsigned SplatSize = SplatBitSize / 8;
97769759

@@ -9805,37 +9788,13 @@ SDValue PPCTargetLowering::LowerBUILD_VECTOR(SDValue Op,
98059788
dl);
98069789

98079790
// If the sign extended value is in the range [-16,15], use VSPLTI[bhw].
9808-
// Use VSPLTIW/VUPKLSW for v2i64 in range [-16,15].
9809-
if (SextVal >= -16 && SextVal <= 15) {
9810-
unsigned UseSize = SplatSize == 8 ? 4 : SplatSize;
9811-
SDValue Res =
9812-
getCanonicalConstSplat(SextVal, UseSize, Op.getValueType(), DAG, dl);
9813-
if (SplatSize != 8)
9814-
return Res;
9815-
return BuildIntrinsicOp(Intrinsic::ppc_altivec_vupklsw, Res, DAG, dl);
9816-
}
9791+
int32_t SextVal = SignExtend32(SplatBits, SplatBitSize);
9792+
if (SextVal >= -16 && SextVal <= 15)
9793+
return getCanonicalConstSplat(SextVal, SplatSize, Op.getValueType(), DAG,
9794+
dl);
98179795

98189796
// Two instruction sequences.
98199797

9820-
if (Subtarget.hasP9Vector() && SextVal >= -128 && SextVal <= 127) {
9821-
SDValue C = DAG.getConstant((unsigned char)SextVal, dl, MVT::i32);
9822-
SmallVector<SDValue, 16> Ops(16, C);
9823-
SDValue BV = DAG.getBuildVector(MVT::v16i8, dl, Ops);
9824-
assert((SplatSize == 2 || SplatSize == 4 || SplatSize == 8) &&
9825-
"Unexpected type for vector constant.");
9826-
unsigned IID;
9827-
if (SplatSize == 2) {
9828-
IID = Intrinsic::ppc_altivec_vupklsb;
9829-
} else if (SplatSize == 4) {
9830-
IID = Intrinsic::ppc_altivec_vextsb2w;
9831-
} else { // SplatSize == 8
9832-
IID = Intrinsic::ppc_altivec_vextsb2d;
9833-
}
9834-
SDValue Extend = BuildIntrinsicOp(IID, BV, DAG, dl);
9835-
return DAG.getBitcast(Op->getValueType(0), Extend);
9836-
}
9837-
assert(!IsSplat64 && "Unhandled 64-bit splat pattern");
9838-
98399798
// If this value is in the range [-32,30] and is even, use:
98409799
// VSPLTI[bhw](val/2) + VSPLTI[bhw](val/2)
98419800
// If this value is in the range [17,31] and is odd, use:

llvm/test/CodeGen/PowerPC/build-vector-tests.ll

Lines changed: 72 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -3713,26 +3713,30 @@ entry:
37133713
define <2 x i64> @spltConst1ll() {
37143714
; P9BE-LABEL: spltConst1ll:
37153715
; P9BE: # %bb.0: # %entry
3716-
; P9BE-NEXT: vspltisw v2, 1
3717-
; P9BE-NEXT: vupklsw v2, v2
3716+
; P9BE-NEXT: addis r3, r2, .LCPI65_0@toc@ha
3717+
; P9BE-NEXT: addi r3, r3, .LCPI65_0@toc@l
3718+
; P9BE-NEXT: lxv v2, 0(r3)
37183719
; P9BE-NEXT: blr
37193720
;
37203721
; P9LE-LABEL: spltConst1ll:
37213722
; P9LE: # %bb.0: # %entry
3722-
; P9LE-NEXT: vspltisw v2, 1
3723-
; P9LE-NEXT: vupklsw v2, v2
3723+
; P9LE-NEXT: addis r3, r2, .LCPI65_0@toc@ha
3724+
; P9LE-NEXT: addi r3, r3, .LCPI65_0@toc@l
3725+
; P9LE-NEXT: lxv v2, 0(r3)
37243726
; P9LE-NEXT: blr
37253727
;
37263728
; P8BE-LABEL: spltConst1ll:
37273729
; P8BE: # %bb.0: # %entry
3728-
; P8BE-NEXT: vspltisw v2, 1
3729-
; P8BE-NEXT: vupklsw v2, v2
3730+
; P8BE-NEXT: addis r3, r2, .LCPI65_0@toc@ha
3731+
; P8BE-NEXT: addi r3, r3, .LCPI65_0@toc@l
3732+
; P8BE-NEXT: lxvd2x v2, 0, r3
37303733
; P8BE-NEXT: blr
37313734
;
37323735
; P8LE-LABEL: spltConst1ll:
37333736
; P8LE: # %bb.0: # %entry
3734-
; P8LE-NEXT: vspltisw v2, 1
3735-
; P8LE-NEXT: vupklsw v2, v2
3737+
; P8LE-NEXT: addis r3, r2, .LCPI65_0@toc@ha
3738+
; P8LE-NEXT: addi r3, r3, .LCPI65_0@toc@l
3739+
; P8LE-NEXT: lxvd2x v2, 0, r3
37363740
; P8LE-NEXT: blr
37373741
entry:
37383742
ret <2 x i64> <i64 1, i64 1>
@@ -4169,26 +4173,30 @@ entry:
41694173
define <2 x i64> @spltCnstConvftoll() {
41704174
; P9BE-LABEL: spltCnstConvftoll:
41714175
; P9BE: # %bb.0: # %entry
4172-
; P9BE-NEXT: vspltisw v2, 4
4173-
; P9BE-NEXT: vupklsw v2, v2
4176+
; P9BE-NEXT: addis r3, r2, .LCPI78_0@toc@ha
4177+
; P9BE-NEXT: addi r3, r3, .LCPI78_0@toc@l
4178+
; P9BE-NEXT: lxv v2, 0(r3)
41744179
; P9BE-NEXT: blr
41754180
;
41764181
; P9LE-LABEL: spltCnstConvftoll:
41774182
; P9LE: # %bb.0: # %entry
4178-
; P9LE-NEXT: vspltisw v2, 4
4179-
; P9LE-NEXT: vupklsw v2, v2
4183+
; P9LE-NEXT: addis r3, r2, .LCPI78_0@toc@ha
4184+
; P9LE-NEXT: addi r3, r3, .LCPI78_0@toc@l
4185+
; P9LE-NEXT: lxv v2, 0(r3)
41804186
; P9LE-NEXT: blr
41814187
;
41824188
; P8BE-LABEL: spltCnstConvftoll:
41834189
; P8BE: # %bb.0: # %entry
4184-
; P8BE-NEXT: vspltisw v2, 4
4185-
; P8BE-NEXT: vupklsw v2, v2
4190+
; P8BE-NEXT: addis r3, r2, .LCPI78_0@toc@ha
4191+
; P8BE-NEXT: addi r3, r3, .LCPI78_0@toc@l
4192+
; P8BE-NEXT: lxvd2x v2, 0, r3
41864193
; P8BE-NEXT: blr
41874194
;
41884195
; P8LE-LABEL: spltCnstConvftoll:
41894196
; P8LE: # %bb.0: # %entry
4190-
; P8LE-NEXT: vspltisw v2, 4
4191-
; P8LE-NEXT: vupklsw v2, v2
4197+
; P8LE-NEXT: addis r3, r2, .LCPI78_0@toc@ha
4198+
; P8LE-NEXT: addi r3, r3, .LCPI78_0@toc@l
4199+
; P8LE-NEXT: lxvd2x v2, 0, r3
41924200
; P8LE-NEXT: blr
41934201
entry:
41944202
ret <2 x i64> <i64 4, i64 4>
@@ -4518,26 +4526,30 @@ entry:
45184526
define <2 x i64> @spltCnstConvdtoll() {
45194527
; P9BE-LABEL: spltCnstConvdtoll:
45204528
; P9BE: # %bb.0: # %entry
4521-
; P9BE-NEXT: vspltisw v2, 4
4522-
; P9BE-NEXT: vupklsw v2, v2
4529+
; P9BE-NEXT: addis r3, r2, .LCPI87_0@toc@ha
4530+
; P9BE-NEXT: addi r3, r3, .LCPI87_0@toc@l
4531+
; P9BE-NEXT: lxv v2, 0(r3)
45234532
; P9BE-NEXT: blr
45244533
;
45254534
; P9LE-LABEL: spltCnstConvdtoll:
45264535
; P9LE: # %bb.0: # %entry
4527-
; P9LE-NEXT: vspltisw v2, 4
4528-
; P9LE-NEXT: vupklsw v2, v2
4536+
; P9LE-NEXT: addis r3, r2, .LCPI87_0@toc@ha
4537+
; P9LE-NEXT: addi r3, r3, .LCPI87_0@toc@l
4538+
; P9LE-NEXT: lxv v2, 0(r3)
45294539
; P9LE-NEXT: blr
45304540
;
45314541
; P8BE-LABEL: spltCnstConvdtoll:
45324542
; P8BE: # %bb.0: # %entry
4533-
; P8BE-NEXT: vspltisw v2, 4
4534-
; P8BE-NEXT: vupklsw v2, v2
4543+
; P8BE-NEXT: addis r3, r2, .LCPI87_0@toc@ha
4544+
; P8BE-NEXT: addi r3, r3, .LCPI87_0@toc@l
4545+
; P8BE-NEXT: lxvd2x v2, 0, r3
45354546
; P8BE-NEXT: blr
45364547
;
45374548
; P8LE-LABEL: spltCnstConvdtoll:
45384549
; P8LE: # %bb.0: # %entry
4539-
; P8LE-NEXT: vspltisw v2, 4
4540-
; P8LE-NEXT: vupklsw v2, v2
4550+
; P8LE-NEXT: addis r3, r2, .LCPI87_0@toc@ha
4551+
; P8LE-NEXT: addi r3, r3, .LCPI87_0@toc@l
4552+
; P8LE-NEXT: lxvd2x v2, 0, r3
45414553
; P8LE-NEXT: blr
45424554
entry:
45434555
ret <2 x i64> <i64 4, i64 4>
@@ -4867,26 +4879,30 @@ entry:
48674879
define <2 x i64> @spltConst1ull() {
48684880
; P9BE-LABEL: spltConst1ull:
48694881
; P9BE: # %bb.0: # %entry
4870-
; P9BE-NEXT: vspltisw v2, 1
4871-
; P9BE-NEXT: vupklsw v2, v2
4882+
; P9BE-NEXT: addis r3, r2, .LCPI97_0@toc@ha
4883+
; P9BE-NEXT: addi r3, r3, .LCPI97_0@toc@l
4884+
; P9BE-NEXT: lxv v2, 0(r3)
48724885
; P9BE-NEXT: blr
48734886
;
48744887
; P9LE-LABEL: spltConst1ull:
48754888
; P9LE: # %bb.0: # %entry
4876-
; P9LE-NEXT: vspltisw v2, 1
4877-
; P9LE-NEXT: vupklsw v2, v2
4889+
; P9LE-NEXT: addis r3, r2, .LCPI97_0@toc@ha
4890+
; P9LE-NEXT: addi r3, r3, .LCPI97_0@toc@l
4891+
; P9LE-NEXT: lxv v2, 0(r3)
48784892
; P9LE-NEXT: blr
48794893
;
48804894
; P8BE-LABEL: spltConst1ull:
48814895
; P8BE: # %bb.0: # %entry
4882-
; P8BE-NEXT: vspltisw v2, 1
4883-
; P8BE-NEXT: vupklsw v2, v2
4896+
; P8BE-NEXT: addis r3, r2, .LCPI97_0@toc@ha
4897+
; P8BE-NEXT: addi r3, r3, .LCPI97_0@toc@l
4898+
; P8BE-NEXT: lxvd2x v2, 0, r3
48844899
; P8BE-NEXT: blr
48854900
;
48864901
; P8LE-LABEL: spltConst1ull:
48874902
; P8LE: # %bb.0: # %entry
4888-
; P8LE-NEXT: vspltisw v2, 1
4889-
; P8LE-NEXT: vupklsw v2, v2
4903+
; P8LE-NEXT: addis r3, r2, .LCPI97_0@toc@ha
4904+
; P8LE-NEXT: addi r3, r3, .LCPI97_0@toc@l
4905+
; P8LE-NEXT: lxvd2x v2, 0, r3
48904906
; P8LE-NEXT: blr
48914907
entry:
48924908
ret <2 x i64> <i64 1, i64 1>
@@ -5323,26 +5339,30 @@ entry:
53235339
define <2 x i64> @spltCnstConvftoull() {
53245340
; P9BE-LABEL: spltCnstConvftoull:
53255341
; P9BE: # %bb.0: # %entry
5326-
; P9BE-NEXT: vspltisw v2, 4
5327-
; P9BE-NEXT: vupklsw v2, v2
5342+
; P9BE-NEXT: addis r3, r2, .LCPI110_0@toc@ha
5343+
; P9BE-NEXT: addi r3, r3, .LCPI110_0@toc@l
5344+
; P9BE-NEXT: lxv v2, 0(r3)
53285345
; P9BE-NEXT: blr
53295346
;
53305347
; P9LE-LABEL: spltCnstConvftoull:
53315348
; P9LE: # %bb.0: # %entry
5332-
; P9LE-NEXT: vspltisw v2, 4
5333-
; P9LE-NEXT: vupklsw v2, v2
5349+
; P9LE-NEXT: addis r3, r2, .LCPI110_0@toc@ha
5350+
; P9LE-NEXT: addi r3, r3, .LCPI110_0@toc@l
5351+
; P9LE-NEXT: lxv v2, 0(r3)
53345352
; P9LE-NEXT: blr
53355353
;
53365354
; P8BE-LABEL: spltCnstConvftoull:
53375355
; P8BE: # %bb.0: # %entry
5338-
; P8BE-NEXT: vspltisw v2, 4
5339-
; P8BE-NEXT: vupklsw v2, v2
5356+
; P8BE-NEXT: addis r3, r2, .LCPI110_0@toc@ha
5357+
; P8BE-NEXT: addi r3, r3, .LCPI110_0@toc@l
5358+
; P8BE-NEXT: lxvd2x v2, 0, r3
53405359
; P8BE-NEXT: blr
53415360
;
53425361
; P8LE-LABEL: spltCnstConvftoull:
53435362
; P8LE: # %bb.0: # %entry
5344-
; P8LE-NEXT: vspltisw v2, 4
5345-
; P8LE-NEXT: vupklsw v2, v2
5363+
; P8LE-NEXT: addis r3, r2, .LCPI110_0@toc@ha
5364+
; P8LE-NEXT: addi r3, r3, .LCPI110_0@toc@l
5365+
; P8LE-NEXT: lxvd2x v2, 0, r3
53465366
; P8LE-NEXT: blr
53475367
entry:
53485368
ret <2 x i64> <i64 4, i64 4>
@@ -5672,26 +5692,30 @@ entry:
56725692
define <2 x i64> @spltCnstConvdtoull() {
56735693
; P9BE-LABEL: spltCnstConvdtoull:
56745694
; P9BE: # %bb.0: # %entry
5675-
; P9BE-NEXT: vspltisw v2, 4
5676-
; P9BE-NEXT: vupklsw v2, v2
5695+
; P9BE-NEXT: addis r3, r2, .LCPI119_0@toc@ha
5696+
; P9BE-NEXT: addi r3, r3, .LCPI119_0@toc@l
5697+
; P9BE-NEXT: lxv v2, 0(r3)
56775698
; P9BE-NEXT: blr
56785699
;
56795700
; P9LE-LABEL: spltCnstConvdtoull:
56805701
; P9LE: # %bb.0: # %entry
5681-
; P9LE-NEXT: vspltisw v2, 4
5682-
; P9LE-NEXT: vupklsw v2, v2
5702+
; P9LE-NEXT: addis r3, r2, .LCPI119_0@toc@ha
5703+
; P9LE-NEXT: addi r3, r3, .LCPI119_0@toc@l
5704+
; P9LE-NEXT: lxv v2, 0(r3)
56835705
; P9LE-NEXT: blr
56845706
;
56855707
; P8BE-LABEL: spltCnstConvdtoull:
56865708
; P8BE: # %bb.0: # %entry
5687-
; P8BE-NEXT: vspltisw v2, 4
5688-
; P8BE-NEXT: vupklsw v2, v2
5709+
; P8BE-NEXT: addis r3, r2, .LCPI119_0@toc@ha
5710+
; P8BE-NEXT: addi r3, r3, .LCPI119_0@toc@l
5711+
; P8BE-NEXT: lxvd2x v2, 0, r3
56895712
; P8BE-NEXT: blr
56905713
;
56915714
; P8LE-LABEL: spltCnstConvdtoull:
56925715
; P8LE: # %bb.0: # %entry
5693-
; P8LE-NEXT: vspltisw v2, 4
5694-
; P8LE-NEXT: vupklsw v2, v2
5716+
; P8LE-NEXT: addis r3, r2, .LCPI119_0@toc@ha
5717+
; P8LE-NEXT: addi r3, r3, .LCPI119_0@toc@l
5718+
; P8LE-NEXT: lxvd2x v2, 0, r3
56955719
; P8LE-NEXT: blr
56965720
entry:
56975721
ret <2 x i64> <i64 4, i64 4>

llvm/test/CodeGen/PowerPC/mul-const-vector.ll

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -271,7 +271,8 @@ define <2 x i64> @test1_v2i64(<2 x i64> %a) {
271271
ret <2 x i64> %tmp.1
272272
}
273273
; CHECK-LABEL: test1_v2i64:
274-
; CHECK: vupklsw v[[REG1:[0-9]+]], v{{[0-9]+}}
274+
; CHECK-P8: lxvd2x v[[REG1:[0-9]+]], 0, r{{[0-9]+}}
275+
; CHECK-P9: lxv v[[REG2:[0-9]+]], 0(r{{[0-9]+}})
275276
; CHECK-NOT: vmul
276277
; CHECK-NEXT: vsld v{{[0-9]+}}, v2, v[[REG2]]
277278

@@ -281,7 +282,8 @@ define <2 x i64> @test2_v2i64(<2 x i64> %a) {
281282
}
282283

283284
; CHECK-LABEL: test2_v2i64:
284-
; CHECK: vupklsw v[[REG1:[0-9]+]], v{{[0-9]+}}
285+
; CHECK-P8: lxvd2x v[[REG1:[0-9]+]], 0, r{{[0-9]+}}
286+
; CHECK-P9: lxv v[[REG2:[0-9]+]], 0(r{{[0-9]+}})
285287
; CHECK-NOT: vmul
286288
; CHECK-NEXT: vsld v[[REG3:[0-9]+]], v2, v[[REG2]]
287289
; CHECK-NEXT: vaddudm v{{[0-9]+}}, v2, v[[REG3]]
@@ -292,7 +294,8 @@ define <2 x i64> @test3_v2i64(<2 x i64> %a) {
292294
}
293295

294296
; CHECK-LABEL: test3_v2i64:
295-
; CHECK: vupklsw v[[REG1:[0-9]+]], v{{[0-9]+}}
297+
; CHECK-P8: lxvd2x v[[REG1:[0-9]+]], 0, r{{[0-9]+}}
298+
; CHECK-P9: lxv v[[REG2:[0-9]+]], 0(r{{[0-9]+}})
296299
; CHECK-NOT: vmul
297300
; CHECK-NEXT: vsld v[[REG3:[0-9]+]], v2, v[[REG2]]
298301
; CHECK-NEXT: vsubudm v{{[0-9]+}}, v[[REG3]], v2
@@ -305,7 +308,8 @@ define <2 x i64> @test4_v2i64(<2 x i64> %a) {
305308
}
306309

307310
; CHECK-LABEL: test4_v2i64:
308-
; CHECK: vupklsw v[[REG1:[0-9]+]], v{{[0-9]+}}
311+
; CHECK-P8: lxvd2x v[[REG1:[0-9]+]], 0, r{{[0-9]+}}
312+
; CHECK-P9: lxv v[[REG2:[0-9]+]], 0(r{{[0-9]+}})
309313
; CHECK-NOT: vmul
310314
; CHECK-NEXT: vsld v[[REG3:[0-9]+]], v2, v[[REG2]]
311315
; CHECK-P8-NEXT: xxlxor v[[REG4:[0-9]+]],
@@ -318,7 +322,8 @@ define <2 x i64> @test5_v2i64(<2 x i64> %a) {
318322
}
319323

320324
; CHECK-LABEL: test5_v2i64:
321-
; CHECK: vupklsw v[[REG1:[0-9]+]], v{{[0-9]+}}
325+
; CHECK-P8: lxvd2x v[[REG1:[0-9]+]], 0, r{{[0-9]+}}
326+
; CHECK-P9: lxv v[[REG2:[0-9]+]], 0(r{{[0-9]+}})
322327
; CHECK-NOT: vmul
323328
; CHECK-NEXT: vsld v[[REG3:[0-9]+]], v2, v[[REG2]]
324329
; CHECK-NEXT: vaddudm v[[REG4:[0-9]+]], v2, v[[REG3]]
@@ -332,7 +337,8 @@ define <2 x i64> @test6_v2i64(<2 x i64> %a) {
332337
}
333338

334339
; CHECK-LABEL: test6_v2i64:
335-
; CHECK: vupklsw v[[REG1:[0-9]+]], v{{[0-9]+}}
340+
; CHECK-P8: lxvd2x v[[REG1:[0-9]+]], 0, r{{[0-9]+}}
341+
; CHECK-P9: lxv v[[REG2:[0-9]+]], 0(r{{[0-9]+}})
336342
; CHECK-NOT: vmul
337343
; CHECK-NEXT: vsld v[[REG3:[0-9]+]], v2, v[[REG2]]
338344
; CHECK-NEXT: vsubudm v{{[0-9]+}}, v2, v[[REG3]]

llvm/test/CodeGen/PowerPC/p10-splatImm-CPload-pcrel.ll

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -105,8 +105,9 @@ define dso_local <2 x double> @testDoubleToDoubleNaNFail() local_unnamed_addr {
105105
;
106106
; CHECK-NOPREFIX-LABEL: testDoubleToDoubleNaNFail:
107107
; CHECK-NOPREFIX: # %bb.0: # %entry
108-
; CHECK-NOPREFIX-NEXT: vspltisw v2, -16
109-
; CHECK-NOPREFIX-NEXT: vupklsw v2, v2
108+
; CHECK-NOPREFIX-NEXT: addis r3, r2, .LCPI2_0@toc@ha
109+
; CHECK-NOPREFIX-NEXT: addi r3, r3, .LCPI2_0@toc@l
110+
; CHECK-NOPREFIX-NEXT: lxv vs34, 0(r3)
110111
; CHECK-NOPREFIX-NEXT: blr
111112
;
112113
; CHECK-BE-LABEL: testDoubleToDoubleNaNFail:

0 commit comments

Comments
 (0)