[llvm] [InstCombine] Remove some of the complexity-based canonicalization (PR #91185)

Nikita Popov via llvm-commits llvm-commits at lists.llvm.org
Fri Aug 16 07:49:34 PDT 2024


================
@@ -711,9 +711,9 @@ define double @sqrt_intrinsic_three_args5(double %x, double %y) {
 
 define double @sqrt_intrinsic_three_args6(double %x, double %y) {
 ; CHECK-LABEL: @sqrt_intrinsic_three_args6(
-; CHECK-NEXT:    [[FABS:%.*]] = call fast double @llvm.fabs.f64(double [[X:%.*]])
-; CHECK-NEXT:    [[SQRT1:%.*]] = call fast double @llvm.sqrt.f64(double [[Y:%.*]])
-; CHECK-NEXT:    [[SQRT:%.*]] = fmul fast double [[FABS]], [[SQRT1]]
+; CHECK-NEXT:    [[MUL:%.*]] = fmul fast double [[X:%.*]], [[X]]
+; CHECK-NEXT:    [[MUL2:%.*]] = fmul fast double [[Y:%.*]], [[MUL]]
+; CHECK-NEXT:    [[SQRT:%.*]] = call fast double @llvm.sqrt.f64(double [[MUL2]])
----------------
nikic wrote:

Fixed by https://github.com/llvm/llvm-project/commit/60bffe221a1d615ffc7c6b632287d0fbd27ef863.

https://github.com/llvm/llvm-project/pull/91185


More information about the llvm-commits mailing list