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) {
709
709
ret double %sqrt
710
710
}
711
711
712
- define double @sqrt_intrinsic_three_args6 (double %x , double %y ) {
712
+ define double @sqrt_intrinsic_three_args6 (double %x , ptr %yp ) {
713
713
; 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]])
717
718
; CHECK-NEXT: ret double [[SQRT]]
718
719
;
720
+ %y = load double , ptr %yp ; thwart complexity-based canonicalization
719
721
%mul = fmul fast double %x , %x
720
722
%mul2 = fmul fast double %y , %mul
721
723
%sqrt = call fast double @llvm.sqrt.f64 (double %mul2 )
You can’t perform that action at this time.
0 commit comments