@@ -20,6 +20,23 @@ entry:
20
20
ret double %conv
21
21
}
22
22
23
+ define double @foo_d_ll_freeze (ppc_fp128 %a , ppc_fp128 %b ) #0 {
24
+ ; CHECK-LABEL: foo_d_ll_freeze:
25
+ ; CHECK: # %bb.0: # %entry
26
+ ; CHECK-NEXT: fcpsgn 1, 3, 1
27
+ ; CHECK-NEXT: blr
28
+ ;
29
+ ; CHECK-VSX-LABEL: foo_d_ll_freeze:
30
+ ; CHECK-VSX: # %bb.0: # %entry
31
+ ; CHECK-VSX-NEXT: xscpsgndp 1, 3, 1
32
+ ; CHECK-VSX-NEXT: blr
33
+ entry:
34
+ %call = tail call ppc_fp128 @copysignl (ppc_fp128 %a , ppc_fp128 %b ) #0
35
+ %freeze = freeze ppc_fp128 %call
36
+ %conv = fptrunc ppc_fp128 %freeze to double
37
+ ret double %conv
38
+ }
39
+
23
40
declare ppc_fp128 @copysignl (ppc_fp128 , ppc_fp128 ) #0
24
41
25
42
define double @foo_dl (double %a , ppc_fp128 %b ) #0 {
@@ -46,9 +63,9 @@ define ppc_fp128 @foo_ll(double %a, ppc_fp128 %b) #0 {
46
63
; CHECK-NEXT: mflr 0
47
64
; CHECK-NEXT: stdu 1, -112(1)
48
65
; CHECK-NEXT: fmr 3, 2
49
- ; CHECK-NEXT: addis 3, 2, .LCPI2_0 @toc@ha
66
+ ; CHECK-NEXT: addis 3, 2, .LCPI3_0 @toc@ha
50
67
; CHECK-NEXT: std 0, 128(1)
51
- ; CHECK-NEXT: lfs 2, .LCPI2_0 @toc@l(3)
68
+ ; CHECK-NEXT: lfs 2, .LCPI3_0 @toc@l(3)
52
69
; CHECK-NEXT: bl copysignl
53
70
; CHECK-NEXT: nop
54
71
; CHECK-NEXT: addi 1, 1, 112
@@ -81,9 +98,9 @@ define ppc_fp128 @foo_ld(double %a, double %b) #0 {
81
98
; CHECK-NEXT: mflr 0
82
99
; CHECK-NEXT: stdu 1, -112(1)
83
100
; CHECK-NEXT: fmr 3, 2
84
- ; CHECK-NEXT: addis 3, 2, .LCPI3_0 @toc@ha
101
+ ; CHECK-NEXT: addis 3, 2, .LCPI4_0 @toc@ha
85
102
; CHECK-NEXT: std 0, 128(1)
86
- ; CHECK-NEXT: lfs 2, .LCPI3_0 @toc@l(3)
103
+ ; CHECK-NEXT: lfs 2, .LCPI4_0 @toc@l(3)
87
104
; CHECK-NEXT: bl copysignl
88
105
; CHECK-NEXT: nop
89
106
; CHECK-NEXT: addi 1, 1, 112
@@ -117,9 +134,9 @@ define ppc_fp128 @foo_lf(double %a, float %b) #0 {
117
134
; CHECK-NEXT: mflr 0
118
135
; CHECK-NEXT: stdu 1, -112(1)
119
136
; CHECK-NEXT: fmr 3, 2
120
- ; CHECK-NEXT: addis 3, 2, .LCPI4_0 @toc@ha
137
+ ; CHECK-NEXT: addis 3, 2, .LCPI5_0 @toc@ha
121
138
; CHECK-NEXT: std 0, 128(1)
122
- ; CHECK-NEXT: lfs 2, .LCPI4_0 @toc@l(3)
139
+ ; CHECK-NEXT: lfs 2, .LCPI5_0 @toc@l(3)
123
140
; CHECK-NEXT: bl copysignl
124
141
; CHECK-NEXT: nop
125
142
; CHECK-NEXT: addi 1, 1, 112
0 commit comments