@@ -44,13 +44,13 @@ define ppc_fp128 @foo_ll(double %a, ppc_fp128 %b) #0 {
44
44
; CHECK-LABEL: foo_ll:
45
45
; CHECK: # %bb.0: # %entry
46
46
; 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
52
48
; CHECK-NEXT: addis 4, 2, .LCPI2_0@toc@ha
53
49
; 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
54
54
; CHECK-NEXT: lfdx 2, 4, 3
55
55
; CHECK-NEXT: blr
56
56
;
@@ -59,8 +59,9 @@ define ppc_fp128 @foo_ll(double %a, ppc_fp128 %b) #0 {
59
59
; CHECK-VSX-NEXT: fmr 0, 1
60
60
; CHECK-VSX-NEXT: xscpsgndp 1, 2, 1
61
61
; 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
64
65
; CHECK-VSX-NEXT: # %bb.1: # %entry
65
66
; CHECK-VSX-NEXT: xsnegdp 2, 2
66
67
; CHECK-VSX-NEXT: blr
@@ -74,13 +75,13 @@ define ppc_fp128 @foo_ld(double %a, double %b) #0 {
74
75
; CHECK-LABEL: foo_ld:
75
76
; CHECK: # %bb.0: # %entry
76
77
; 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
82
79
; CHECK-NEXT: addis 4, 2, .LCPI3_0@toc@ha
83
80
; 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
84
85
; CHECK-NEXT: lfdx 2, 4, 3
85
86
; CHECK-NEXT: blr
86
87
;
@@ -89,8 +90,9 @@ define ppc_fp128 @foo_ld(double %a, double %b) #0 {
89
90
; CHECK-VSX-NEXT: fmr 0, 1
90
91
; CHECK-VSX-NEXT: xscpsgndp 1, 2, 1
91
92
; 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
94
96
; CHECK-VSX-NEXT: # %bb.1: # %entry
95
97
; CHECK-VSX-NEXT: xsnegdp 2, 2
96
98
; CHECK-VSX-NEXT: blr
@@ -105,13 +107,13 @@ define ppc_fp128 @foo_lf(double %a, float %b) #0 {
105
107
; CHECK-LABEL: foo_lf:
106
108
; CHECK: # %bb.0: # %entry
107
109
; 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
113
111
; CHECK-NEXT: addis 4, 2, .LCPI4_0@toc@ha
114
112
; 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
115
117
; CHECK-NEXT: lfdx 2, 4, 3
116
118
; CHECK-NEXT: blr
117
119
;
@@ -120,8 +122,9 @@ define ppc_fp128 @foo_lf(double %a, float %b) #0 {
120
122
; CHECK-VSX-NEXT: fmr 0, 1
121
123
; CHECK-VSX-NEXT: fcpsgn 1, 2, 1
122
124
; 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
125
128
; CHECK-VSX-NEXT: # %bb.1: # %entry
126
129
; CHECK-VSX-NEXT: xsnegdp 2, 2
127
130
; CHECK-VSX-NEXT: blr
0 commit comments