• Home
  • Raw
  • Download

Lines Matching refs:fabs

223 declare float @llvm.fabs.f32(float)
224 declare <2 x float> @llvm.fabs.v2f32(<2 x float>)
236 %fabs = call float @llvm.fabs.f32(float %select)
237 ret float %fabs
248 %fabs = call <2 x float> @llvm.fabs.v2f32(<2 x float> %select)
249 ret <2 x float> %fabs
256 ; CHECK-NEXT: [[FABS:%.*]] = call float @llvm.fabs.f32(float [[SELECT]])
261 %fabs = call float @llvm.fabs.f32(float %select)
262 ret float %fabs
269 ; CHECK-NEXT: [[FABS:%.*]] = call <2 x float> @llvm.fabs.v2f32(<2 x float> [[SELECT]])
274 %fabs = call <2 x float> @llvm.fabs.v2f32(<2 x float> %select)
275 ret <2 x float> %fabs
282 ; CHECK-NEXT: [[FABS:%.*]] = call float @llvm.fabs.f32(float [[SELECT]])
287 %fabs = call float @llvm.fabs.f32(float %select)
288 ret float %fabs
295 ; CHECK-NEXT: [[FABS:%.*]] = call <2 x float> @llvm.fabs.v2f32(<2 x float> [[SELECT]])
300 %fabs = call <2 x float> @llvm.fabs.v2f32(<2 x float> %select)
301 ret <2 x float> %fabs
308 ; CHECK-NEXT: [[FABS:%.*]] = call float @llvm.fabs.f32(float [[SELECT]])
313 %fabs = call float @llvm.fabs.f32(float %select)
314 ret float %fabs
321 ; CHECK-NEXT: [[FABS:%.*]] = call <2 x float> @llvm.fabs.v2f32(<2 x float> [[SELECT]])
326 %fabs = call <2 x float> @llvm.fabs.v2f32(<2 x float> %select)
327 ret <2 x float> %fabs
338 %fabs = call float @llvm.fabs.f32(float %select)
339 ret float %fabs
350 %fabs = call <2 x float> @llvm.fabs.v2f32(<2 x float> %select)
351 ret <2 x float> %fabs
358 ; CHECK-NEXT: [[FABS:%.*]] = call float @llvm.fabs.f32(float [[SELECT]])
363 %fabs = call float @llvm.fabs.f32(float %select)
364 ret float %fabs
371 ; CHECK-NEXT: [[FABS:%.*]] = call <2 x float> @llvm.fabs.v2f32(<2 x float> [[SELECT]])
376 %fabs = call <2 x float> @llvm.fabs.v2f32(<2 x float> %select)
377 ret <2 x float> %fabs
384 ; CHECK-NEXT: [[FABS:%.*]] = call float @llvm.fabs.f32(float [[SELECT]])
389 %fabs = call float @llvm.fabs.f32(float %select)
390 ret float %fabs
397 ; CHECK-NEXT: [[FABS:%.*]] = call <2 x float> @llvm.fabs.v2f32(<2 x float> [[SELECT]])
402 %fabs = call <2 x float> @llvm.fabs.v2f32(<2 x float> %select)
403 ret <2 x float> %fabs
410 ; CHECK-NEXT: [[FABS:%.*]] = call float @llvm.fabs.f32(float [[SELECT]])
415 %fabs = call float @llvm.fabs.f32(float %select)
416 ret float %fabs
423 ; CHECK-NEXT: [[FABS:%.*]] = call <2 x float> @llvm.fabs.v2f32(<2 x float> [[SELECT]])
428 %fabs = call <2 x float> @llvm.fabs.v2f32(<2 x float> %select)
429 ret <2 x float> %fabs
436 ; CHECK-NEXT: [[FABS:%.*]] = call float @llvm.fabs.f32(float [[SELECT]])
441 %fabs = call float @llvm.fabs.f32(float %select)
442 ret float %fabs
449 ; CHECK-NEXT: [[FABS:%.*]] = call <2 x float> @llvm.fabs.v2f32(<2 x float> [[SELECT]])
454 %fabs = call <2 x float> @llvm.fabs.v2f32(<2 x float> %select)
455 ret <2 x float> %fabs
458 ; The fabs can't be eliminated because llvm.sqrt.f32 may return -0 or NaN with
463 ; CHECK-NEXT: [[FABS:%.*]] = call float @llvm.fabs.f32(float [[SQRT]])
467 %fabs = call float @llvm.fabs.f32(float %sqrt)
468 ret float %fabs
471 ; The fabs can't be eliminated because the nnan sqrt may still return -0.
475 ; CHECK-NEXT: [[FABS:%.*]] = call float @llvm.fabs.f32(float [[SQRT]])
479 %fabs = call float @llvm.fabs.f32(float %sqrt)
480 ret float %fabs
483 ; The fabs can't be eliminated because the nsz sqrt may still return NaN.
487 ; CHECK-NEXT: [[FABS:%.*]] = call float @llvm.fabs.f32(float [[SQRT]])
491 %fabs = call float @llvm.fabs.f32(float %sqrt)
492 ret float %fabs
495 ; The fabs can be eliminated because we're nsz and nnan.
502 %fabs = call float @llvm.fabs.f32(float %sqrt)
503 ret float %fabs
506 ; The second fabs can be eliminated because the operand to sqrt cannot be -0.
509 ; CHECK-NEXT: [[B:%.*]] = call float @llvm.fabs.f32(float [[A:%.*]])
513 %b = call float @llvm.fabs.f32(float %a)
515 %fabs = call float @llvm.fabs.f32(float %sqrt)
516 ret float %fabs
529 %fabs = call float @llvm.fabs.f32(float %extract)
530 ret float %fabs
700 ; CHECK-NEXT: [[FABS:%.*]] = call float @llvm.fabs.f32(float [[MAX]])
704 %fabs = call float @llvm.fabs.f32(float %max)
705 ret float %fabs
712 ; CHECK-NEXT: [[FABS:%.*]] = call float @llvm.fabs.f32(float [[MAX]])
717 %fabs = call float @llvm.fabs.f32(float %max)
718 ret float %fabs
724 ; CHECK-NEXT: [[FABSA:%.*]] = call float @llvm.fabs.f32(float [[NNAN]])
726 ; CHECK-NEXT: [[FABS:%.*]] = call float @llvm.fabs.f32(float [[MAX]])
730 %fabsa = call float @llvm.fabs.f32(float %nnan)
732 %fabs = call float @llvm.fabs.f32(float %max)
733 ret float %fabs
739 ; CHECK-NEXT: [[FABSA:%.*]] = call float @llvm.fabs.f32(float [[NNAN]])
741 ; CHECK-NEXT: [[FABS:%.*]] = call float @llvm.fabs.f32(float [[MAX]])
745 %fabsa = call float @llvm.fabs.f32(float %nnan)
747 %fabs = call float @llvm.fabs.f32(float %max)
748 ret float %fabs
759 %fabs = call float @llvm.fabs.f32(float %max)
760 ret float %fabs