File tree Expand file tree Collapse file tree 1 file changed +6
-4
lines changed
llvm/test/Transforms/InstCombine Expand file tree Collapse file tree 1 file changed +6
-4
lines changed Original file line number Diff line number Diff line change @@ -709,13 +709,15 @@ define double @sqrt_intrinsic_three_args5(double %x, double %y) {
709709 ret double %sqrt
710710}
711711
712- define double @sqrt_intrinsic_three_args6 (double %x , double %y ) {
712+ define double @sqrt_intrinsic_three_args6 (double %x , ptr %yp ) {
713713; CHECK-LABEL: @sqrt_intrinsic_three_args6(
714- ; CHECK-NEXT: [[FABS:%.*]] = call fast double @llvm.fabs.f64(double [[X:%.*]])
715- ; CHECK-NEXT: [[SQRT1:%.*]] = call fast double @llvm.sqrt.f64(double [[Y:%.*]])
716- ; CHECK-NEXT: [[SQRT:%.*]] = fmul fast double [[FABS]], [[SQRT1]]
714+ ; CHECK-NEXT: [[Y:%.*]] = load double, ptr [[YP:%.*]], align 8
715+ ; CHECK-NEXT: [[MUL:%.*]] = fmul fast double [[X:%.*]], [[X]]
716+ ; CHECK-NEXT: [[MUL2:%.*]] = fmul fast double [[Y]], [[MUL]]
717+ ; CHECK-NEXT: [[SQRT:%.*]] = call fast double @llvm.sqrt.f64(double [[MUL2]])
717718; CHECK-NEXT: ret double [[SQRT]]
718719;
720+ %y = load double , ptr %yp ; thwart complexity-based canonicalization
719721 %mul = fmul fast double %x , %x
720722 %mul2 = fmul fast double %y , %mul
721723 %sqrt = call fast double @llvm.sqrt.f64 (double %mul2 )
You can’t perform that action at this time.
0 commit comments