@@ -68,9 +68,9 @@ define half @copysign_fneg_fabs_y(half %x, half %y) {
68
68
69
69
define half @fneg_copysign (half %x , half %y ) {
70
70
; CHECK-LABEL: @fneg_copysign(
71
- ; CHECK-NEXT: [[COPYSIGN :%.*]] = call half @llvm.copysign.f16(half [[X:%.*]], half [[ Y:%.*]])
72
- ; CHECK-NEXT: [[FNEG_COPYSIGN :%.*]] = fneg half [[COPYSIGN]]
73
- ; CHECK-NEXT: ret half [[FNEG_COPYSIGN ]]
71
+ ; CHECK-NEXT: [[TMP1 :%.*]] = fneg half [[ Y:%.*]]
72
+ ; CHECK-NEXT: [[TMP2 :%.*]] = call half @llvm.copysign.f16(half [[X:%.*]], half [[TMP1]])
73
+ ; CHECK-NEXT: ret half [[TMP2 ]]
74
74
;
75
75
%copysign = call half @llvm.copysign.f16 (half %x , half %y )
76
76
%fneg.copysign = fneg half %copysign
@@ -102,9 +102,9 @@ define half @fabs_copysign(half %x, half %y) {
102
102
103
103
define <2 x half > @fneg_copysign_vector (<2 x half > %x , <2 x half > %y ) {
104
104
; CHECK-LABEL: @fneg_copysign_vector(
105
- ; CHECK-NEXT: [[COPYSIGN :%.*]] = call <2 x half> @llvm.copysign.v2f16(<2 x half> [[X:%.*]], <2 x half> [[ Y:%.*]])
106
- ; CHECK-NEXT: [[FNEG_COPYSIGN :%.*]] = fneg <2 x half> [[COPYSIGN]]
107
- ; CHECK-NEXT: ret <2 x half> [[FNEG_COPYSIGN ]]
105
+ ; CHECK-NEXT: [[TMP1 :%.*]] = fneg <2 x half> [[ Y:%.*]]
106
+ ; CHECK-NEXT: [[TMP2 :%.*]] = call <2 x half> @llvm.copysign.v2f16(<2 x half> [[X:%.*]], <2 x half> [[TMP1]])
107
+ ; CHECK-NEXT: ret <2 x half> [[TMP2 ]]
108
108
;
109
109
%copysign = call <2 x half > @llvm.copysign.v2f16 (<2 x half > %x , <2 x half > %y )
110
110
%fneg.copysign = fneg <2 x half > %copysign
@@ -135,9 +135,9 @@ define <2 x half> @fabs_copysign_vector(<2 x half> %x, <2 x half> %y) {
135
135
136
136
define half @fneg_copysign_flags (half %x , half %y ) {
137
137
; CHECK-LABEL: @fneg_copysign_flags(
138
- ; CHECK-NEXT: [[COPYSIGN :%.*]] = call nnan nsz half @llvm.copysign.f16(half [[X:%.*]], half [[ Y:%.*]])
139
- ; CHECK-NEXT: [[FNEG_COPYSIGN :%.*]] = fneg ninf nsz half [[COPYSIGN]]
140
- ; CHECK-NEXT: ret half [[FNEG_COPYSIGN ]]
138
+ ; CHECK-NEXT: [[TMP1 :%.*]] = fneg nsz half [[ Y:%.*]]
139
+ ; CHECK-NEXT: [[TMP2 :%.*]] = call nsz half @llvm.copysign.f16(half [[X:%.*]], half [[TMP1]])
140
+ ; CHECK-NEXT: ret half [[TMP2 ]]
141
141
;
142
142
%copysign = call nnan nsz half @llvm.copysign.f16 (half %x , half %y )
143
143
%fneg.copysign = fneg ninf nsz half %copysign
@@ -159,9 +159,9 @@ define half @fneg_fabs_copysign_flags(half %x, half %y) {
159
159
; Make sure we don't break things by polluting copysign with nsz
160
160
define half @fneg_nsz_copysign (half %x , half %y ) {
161
161
; CHECK-LABEL: @fneg_nsz_copysign(
162
- ; CHECK-NEXT: [[COPYSIGN :%.*]] = call half @llvm.copysign.f16(half [[X:%.*]], half [[ Y:%.*]])
163
- ; CHECK-NEXT: [[FNEG_COPYSIGN :%.*]] = fneg nsz half [[COPYSIGN]]
164
- ; CHECK-NEXT: ret half [[FNEG_COPYSIGN ]]
162
+ ; CHECK-NEXT: [[TMP1 :%.*]] = fneg half [[ Y:%.*]]
163
+ ; CHECK-NEXT: [[TMP2 :%.*]] = call half @llvm.copysign.f16( half [[X:%.*]], half [[TMP1]])
164
+ ; CHECK-NEXT: ret half [[TMP2 ]]
165
165
;
166
166
%copysign = call half @llvm.copysign.f16 (half %x , half %y )
167
167
%fneg.copysign = fneg nsz half %copysign
0 commit comments