@@ -147,53 +147,79 @@ define float @maximum_f32_val_nan(float %x) {
147147
148148define float @maximum_f32_1_maximum_val_p0 (float %x ) {
149149; CHECK-LABEL: @maximum_f32_1_maximum_val_p0(
150- ; CHECK-NEXT: [[RES:%.*]] = call float @llvm.maximum.f32(float %x, float 1.000000e+00)
151- ; CHECK-NEXT: ret float [[RES]]
150+ ; CHECK-NEXT: [[TMP1:%.*]] = call float @llvm.maximum.f32(float [[X:%.*]], float 1.000000e+00)
151+ ; CHECK-NEXT: ret float [[TMP1]]
152+ ;
152153 %y = call float @llvm.maximum.f32 (float %x , float 0 .0 )
153154 %z = call float @llvm.maximum.f32 (float %y , float 1 .0 )
154155 ret float %z
155156}
156157
157158define float @maximum_f32_1_maximum_p0_val_fast (float %x ) {
158159; CHECK-LABEL: @maximum_f32_1_maximum_p0_val_fast(
159- ; CHECK-NEXT: [[RES:%.*]] = call fast float @llvm.maximum.f32(float %x, float 1.000000e+00)
160- ; CHECK-NEXT: ret float [[RES]]
160+ ; CHECK-NEXT: [[TMP1:%.*]] = call fast float @llvm.maximum.f32(float [[X:%.*]], float 1.000000e+00)
161+ ; CHECK-NEXT: ret float [[TMP1]]
162+ ;
161163 %y = call float @llvm.maximum.f32 (float 0 .0 , float %x )
162164 %z = call fast float @llvm.maximum.f32 (float %y , float 1 .0 )
163165 ret float %z
164166}
165167
166- define float @maximum_f32_1_maximum_p0_val_nnan_ninf (float %x ) {
167- ; CHECK-LABEL: @maximum_f32_1_maximum_p0_val_nnan_ninf(
168- ; CHECK-NEXT: [[RES:%.*]] = call nnan ninf float @llvm.maximum.f32(float %x, float 1.000000e+00)
169- ; CHECK-NEXT: ret float [[RES]]
170- %y = call float @llvm.maximum.f32 (float 0 .0 , float %x )
171- %z = call nnan ninf float @llvm.maximum.f32 (float %y , float 1 .0 )
168+ define float @maximum_f32_1_maximum_p0_val_fmf1 (float %x ) {
169+ ; CHECK-LABEL: @maximum_f32_1_maximum_p0_val_fmf1(
170+ ; CHECK-NEXT: [[TMP1:%.*]] = call nnan ninf arcp float @llvm.maximum.f32(float [[X:%.*]], float 1.000000e+00)
171+ ; CHECK-NEXT: ret float [[TMP1]]
172+ ;
173+ %y = call arcp nnan float @llvm.maximum.f32 (float 0 .0 , float %x )
174+ %z = call arcp nnan ninf float @llvm.maximum.f32 (float %y , float 1 .0 )
175+ ret float %z
176+ }
177+
178+ define float @maximum_f32_1_maximum_p0_val_fmf2 (float %x ) {
179+ ; CHECK-LABEL: @maximum_f32_1_maximum_p0_val_fmf2(
180+ ; CHECK-NEXT: [[TMP1:%.*]] = call nnan float @llvm.maximum.f32(float [[X:%.*]], float 1.000000e+00)
181+ ; CHECK-NEXT: ret float [[TMP1]]
182+ ;
183+ %y = call arcp nnan ninf float @llvm.maximum.f32 (float 0 .0 , float %x )
184+ %z = call nnan float @llvm.maximum.f32 (float %y , float 1 .0 )
185+ ret float %z
186+ }
187+
188+ define float @maximum_f32_1_maximum_p0_val_fmf3 (float %x ) {
189+ ; CHECK-LABEL: @maximum_f32_1_maximum_p0_val_fmf3(
190+ ; CHECK-NEXT: [[TMP1:%.*]] = call nnan ninf arcp float @llvm.maximum.f32(float [[X:%.*]], float 1.000000e+00)
191+ ; CHECK-NEXT: ret float [[TMP1]]
192+ ;
193+ %y = call nnan ninf float @llvm.maximum.f32 (float 0 .0 , float %x )
194+ %z = call arcp nnan ninf float @llvm.maximum.f32 (float %y , float 1 .0 )
172195 ret float %z
173196}
174197
175198define float @maximum_f32_p0_maximum_val_n0 (float %x ) {
176199; CHECK-LABEL: @maximum_f32_p0_maximum_val_n0(
177- ; CHECK-NEXT: [[RES:%.*]] = call float @llvm.maximum.f32(float %x, float 0.000000e+00)
178- ; CHECK-NEXT: ret float [[RES]]
200+ ; CHECK-NEXT: [[TMP1:%.*]] = call float @llvm.maximum.f32(float [[X:%.*]], float 0.000000e+00)
201+ ; CHECK-NEXT: ret float [[TMP1]]
202+ ;
179203 %y = call float @llvm.maximum.f32 (float %x , float -0 .0 )
180204 %z = call float @llvm.maximum.f32 (float %y , float 0 .0 )
181205 ret float %z
182206}
183207
184208define float @maximum_f32_1_maximum_p0_val (float %x ) {
185209; CHECK-LABEL: @maximum_f32_1_maximum_p0_val(
186- ; CHECK-NEXT: [[RES:%.*]] = call float @llvm.maximum.f32(float %x, float 1.000000e+00)
187- ; CHECK-NEXT: ret float [[RES]]
210+ ; CHECK-NEXT: [[TMP1:%.*]] = call float @llvm.maximum.f32(float [[X:%.*]], float 1.000000e+00)
211+ ; CHECK-NEXT: ret float [[TMP1]]
212+ ;
188213 %y = call float @llvm.maximum.f32 (float 0 .0 , float %x )
189214 %z = call float @llvm.maximum.f32 (float %y , float 1 .0 )
190215 ret float %z
191216}
192217
193218define <2 x float > @maximum_f32_1_maximum_val_p0_val_v2f32 (<2 x float > %x ) {
194219; CHECK-LABEL: @maximum_f32_1_maximum_val_p0_val_v2f32(
195- ; CHECK-NEXT: [[RES:%.*]] = call <2 x float> @llvm.maximum.v2f32(<2 x float> %x, <2 x float> <float 1.000000e+00, float 1.000000e+00>)
196- ; CHECK-NEXT: ret <2 x float> [[RES]]
220+ ; CHECK-NEXT: [[TMP1:%.*]] = call <2 x float> @llvm.maximum.v2f32(<2 x float> [[X:%.*]], <2 x float> <float 1.000000e+00, float 1.000000e+00>)
221+ ; CHECK-NEXT: ret <2 x float> [[TMP1]]
222+ ;
197223 %y = call <2 x float > @llvm.maximum.v2f32 (<2 x float > %x , <2 x float > zeroinitializer )
198224 %z = call <2 x float > @llvm.maximum.v2f32 (<2 x float > %y , <2 x float ><float 1 .0 , float 1 .0 >)
199225 ret <2 x float > %z
0 commit comments