@@ -44,13 +44,13 @@ define ppc_fp128 @foo_ll(double %a, ppc_fp128 %b) #0 {
4444; CHECK-LABEL: foo_ll:
4545; CHECK: # %bb.0: # %entry
4646; CHECK-NEXT: fcpsgn 0, 2, 1
47- ; CHECK-NEXT: li 3, 0
48- ; CHECK-NEXT: li 4, 8
49- ; CHECK-NEXT: fcmpu 0, 1, 0
50- ; CHECK-NEXT: fmr 1, 0
51- ; CHECK-NEXT: iseleq 3, 4, 3
47+ ; CHECK-NEXT: li 3, 8
5248; CHECK-NEXT: addis 4, 2, .LCPI2_0@toc@ha
5349; CHECK-NEXT: addi 4, 4, .LCPI2_0@toc@l
50+ ; CHECK-NEXT: fcmpu 0, 1, 0
51+ ; CHECK-NEXT: fmr 1, 0
52+ ; CHECK-NEXT: crnor 20, 2, 3
53+ ; CHECK-NEXT: isel 3, 0, 3, 20
5454; CHECK-NEXT: lfdx 2, 4, 3
5555; CHECK-NEXT: blr
5656;
@@ -59,8 +59,9 @@ define ppc_fp128 @foo_ll(double %a, ppc_fp128 %b) #0 {
5959; CHECK-VSX-NEXT: fmr 0, 1
6060; CHECK-VSX-NEXT: xscpsgndp 1, 2, 1
6161; CHECK-VSX-NEXT: xxlxor 2, 2, 2
62- ; CHECK-VSX-NEXT: xscmpudp 0, 0, 1
63- ; CHECK-VSX-NEXT: beqlr 0
62+ ; CHECK-VSX-NEXT: fcmpu 0, 0, 1
63+ ; CHECK-VSX-NEXT: cror 20, 2, 3
64+ ; CHECK-VSX-NEXT: bclr 12, 20, 0
6465; CHECK-VSX-NEXT: # %bb.1: # %entry
6566; CHECK-VSX-NEXT: xsnegdp 2, 2
6667; CHECK-VSX-NEXT: blr
@@ -74,13 +75,13 @@ define ppc_fp128 @foo_ld(double %a, double %b) #0 {
7475; CHECK-LABEL: foo_ld:
7576; CHECK: # %bb.0: # %entry
7677; CHECK-NEXT: fcpsgn 0, 2, 1
77- ; CHECK-NEXT: li 3, 0
78- ; CHECK-NEXT: li 4, 8
79- ; CHECK-NEXT: fcmpu 0, 1, 0
80- ; CHECK-NEXT: fmr 1, 0
81- ; CHECK-NEXT: iseleq 3, 4, 3
78+ ; CHECK-NEXT: li 3, 8
8279; CHECK-NEXT: addis 4, 2, .LCPI3_0@toc@ha
8380; CHECK-NEXT: addi 4, 4, .LCPI3_0@toc@l
81+ ; CHECK-NEXT: fcmpu 0, 1, 0
82+ ; CHECK-NEXT: fmr 1, 0
83+ ; CHECK-NEXT: crnor 20, 2, 3
84+ ; CHECK-NEXT: isel 3, 0, 3, 20
8485; CHECK-NEXT: lfdx 2, 4, 3
8586; CHECK-NEXT: blr
8687;
@@ -89,8 +90,9 @@ define ppc_fp128 @foo_ld(double %a, double %b) #0 {
8990; CHECK-VSX-NEXT: fmr 0, 1
9091; CHECK-VSX-NEXT: xscpsgndp 1, 2, 1
9192; CHECK-VSX-NEXT: xxlxor 2, 2, 2
92- ; CHECK-VSX-NEXT: xscmpudp 0, 0, 1
93- ; CHECK-VSX-NEXT: beqlr 0
93+ ; CHECK-VSX-NEXT: fcmpu 0, 0, 1
94+ ; CHECK-VSX-NEXT: cror 20, 2, 3
95+ ; CHECK-VSX-NEXT: bclr 12, 20, 0
9496; CHECK-VSX-NEXT: # %bb.1: # %entry
9597; CHECK-VSX-NEXT: xsnegdp 2, 2
9698; CHECK-VSX-NEXT: blr
@@ -105,13 +107,13 @@ define ppc_fp128 @foo_lf(double %a, float %b) #0 {
105107; CHECK-LABEL: foo_lf:
106108; CHECK: # %bb.0: # %entry
107109; CHECK-NEXT: fcpsgn 0, 2, 1
108- ; CHECK-NEXT: li 3, 0
109- ; CHECK-NEXT: li 4, 8
110- ; CHECK-NEXT: fcmpu 0, 1, 0
111- ; CHECK-NEXT: fmr 1, 0
112- ; CHECK-NEXT: iseleq 3, 4, 3
110+ ; CHECK-NEXT: li 3, 8
113111; CHECK-NEXT: addis 4, 2, .LCPI4_0@toc@ha
114112; CHECK-NEXT: addi 4, 4, .LCPI4_0@toc@l
113+ ; CHECK-NEXT: fcmpu 0, 1, 0
114+ ; CHECK-NEXT: fmr 1, 0
115+ ; CHECK-NEXT: crnor 20, 2, 3
116+ ; CHECK-NEXT: isel 3, 0, 3, 20
115117; CHECK-NEXT: lfdx 2, 4, 3
116118; CHECK-NEXT: blr
117119;
@@ -120,8 +122,9 @@ define ppc_fp128 @foo_lf(double %a, float %b) #0 {
120122; CHECK-VSX-NEXT: fmr 0, 1
121123; CHECK-VSX-NEXT: fcpsgn 1, 2, 1
122124; CHECK-VSX-NEXT: xxlxor 2, 2, 2
123- ; CHECK-VSX-NEXT: xscmpudp 0, 0, 1
124- ; CHECK-VSX-NEXT: beqlr 0
125+ ; CHECK-VSX-NEXT: fcmpu 0, 0, 1
126+ ; CHECK-VSX-NEXT: cror 20, 2, 3
127+ ; CHECK-VSX-NEXT: bclr 12, 20, 0
125128; CHECK-VSX-NEXT: # %bb.1: # %entry
126129; CHECK-VSX-NEXT: xsnegdp 2, 2
127130; CHECK-VSX-NEXT: blr
0 commit comments