[InstSimplify] change tests to 'fast' to reflect current folds
authorSanjay Patel <spatel@rotateright.com>
Mon, 12 Feb 2018 23:39:10 +0000 (23:39 +0000)
committerSanjay Patel <spatel@rotateright.com>
Mon, 12 Feb 2018 23:39:10 +0000 (23:39 +0000)
The diff to use 'reassoc' is part of D43160; it should not have
been made with rL324961. Reverting that part here, so we'll
see the intended diff with the code change.

llvm-svn: 324963

llvm/test/Transforms/InstSimplify/log-exp-intrinsic.ll

index 89d1672..f91e4f0 100644 (file)
@@ -4,24 +4,22 @@
 declare double @llvm.log.f64(double)
 declare double @llvm.exp.f64(double)
 
-define double @log_reassoc_exp_strict(double %a) {
-; CHECK-LABEL: @log_reassoc_exp_strict(
-; CHECK-NEXT:    [[TMP1:%.*]] = call double @llvm.exp.f64(double [[A:%.*]])
-; CHECK-NEXT:    [[TMP2:%.*]] = call reassoc double @llvm.log.f64(double [[TMP1]])
-; CHECK-NEXT:    ret double [[TMP2]]
+define double @log_fast_exp_strict(double %a) {
+; CHECK-LABEL: @log_fast_exp_strict(
+; CHECK-NEXT:    ret double [[A:%.*]]
 ;
   %1 = call double @llvm.exp.f64(double %a)
-  %2 = call reassoc double @llvm.log.f64(double %1)
+  %2 = call fast double @llvm.log.f64(double %1)
   ret double %2
 }
 
-define double @log_strict_exp_reassoc(double %a) {
-; CHECK-LABEL: @log_strict_exp_reassoc(
-; CHECK-NEXT:    [[TMP1:%.*]] = call reassoc double @llvm.exp.f64(double [[A:%.*]])
+define double @log_strict_exp_fast(double %a) {
+; CHECK-LABEL: @log_strict_exp_fast(
+; CHECK-NEXT:    [[TMP1:%.*]] = call fast double @llvm.exp.f64(double [[A:%.*]])
 ; CHECK-NEXT:    [[TMP2:%.*]] = call double @llvm.log.f64(double [[TMP1]])
 ; CHECK-NEXT:    ret double [[TMP2]]
 ;
-  %1 = call reassoc double @llvm.exp.f64(double %a)
+  %1 = call fast double @llvm.exp.f64(double %a)
   %2 = call double @llvm.log.f64(double %1)
   ret double %2
 }
@@ -41,42 +39,36 @@ define double @log_exp_log_exp(double %a) {
   ret double %4
 }
 
-define double @log_exp_log_exp_reassoc(double %a) {
-; CHECK-LABEL: @log_exp_log_exp_reassoc(
-; CHECK-NEXT:    [[TMP1:%.*]] = call double @llvm.exp.f64(double [[A:%.*]])
-; CHECK-NEXT:    [[TMP2:%.*]] = call reassoc double @llvm.log.f64(double [[TMP1]])
-; CHECK-NEXT:    [[TMP3:%.*]] = call double @llvm.exp.f64(double [[TMP2]])
-; CHECK-NEXT:    [[TMP4:%.*]] = call reassoc double @llvm.log.f64(double [[TMP3]])
-; CHECK-NEXT:    ret double [[TMP4]]
+define double @log_exp_log_exp_fast(double %a) {
+; CHECK-LABEL: @log_exp_log_exp_fast(
+; CHECK-NEXT:    ret double [[A:%.*]]
 ;
   %1 = call double @llvm.exp.f64(double %a)
-  %2 = call reassoc double @llvm.log.f64(double %1)
+  %2 = call fast double @llvm.log.f64(double %1)
   %3 = call double @llvm.exp.f64(double %2)
-  %4 = call reassoc double @llvm.log.f64(double %3)
+  %4 = call fast double @llvm.log.f64(double %3)
   ret double %4
 }
 
 declare double @llvm.log2.f64(double)
 declare double @llvm.exp2.f64(double)
 
-define double @log2_reassoc_exp2_strict(double %a) {
-; CHECK-LABEL: @log2_reassoc_exp2_strict(
-; CHECK-NEXT:    [[TMP1:%.*]] = call double @llvm.exp2.f64(double [[A:%.*]])
-; CHECK-NEXT:    [[TMP2:%.*]] = call reassoc double @llvm.log2.f64(double [[TMP1]])
-; CHECK-NEXT:    ret double [[TMP2]]
+define double @log2_fast_exp2_strict(double %a) {
+; CHECK-LABEL: @log2_fast_exp2_strict(
+; CHECK-NEXT:    ret double [[A:%.*]]
 ;
   %1 = call double @llvm.exp2.f64(double %a)
-  %2 = call reassoc double @llvm.log2.f64(double %1)
+  %2 = call fast double @llvm.log2.f64(double %1)
   ret double %2
 }
 
-define double @log2_strict_exp2_reassoc(double %a) {
-; CHECK-LABEL: @log2_strict_exp2_reassoc(
-; CHECK-NEXT:    [[TMP1:%.*]] = call reassoc double @llvm.exp2.f64(double [[A:%.*]])
+define double @log2_strict_exp2_fast(double %a) {
+; CHECK-LABEL: @log2_strict_exp2_fast(
+; CHECK-NEXT:    [[TMP1:%.*]] = call fast double @llvm.exp2.f64(double [[A:%.*]])
 ; CHECK-NEXT:    [[TMP2:%.*]] = call double @llvm.log2.f64(double [[TMP1]])
 ; CHECK-NEXT:    ret double [[TMP2]]
 ;
-  %1 = call reassoc double @llvm.exp2.f64(double %a)
+  %1 = call fast double @llvm.exp2.f64(double %a)
   %2 = call double @llvm.log2.f64(double %1)
   ret double %2
 }
@@ -96,39 +88,33 @@ define double @log2_exp2_log2_exp2(double %a) {
   ret double %4
 }
 
-define double @log2_exp2_log2_exp2_reassoc(double %a) {
-; CHECK-LABEL: @log2_exp2_log2_exp2_reassoc(
-; CHECK-NEXT:    [[TMP1:%.*]] = call double @llvm.exp2.f64(double [[A:%.*]])
-; CHECK-NEXT:    [[TMP2:%.*]] = call reassoc double @llvm.log2.f64(double [[TMP1]])
-; CHECK-NEXT:    [[TMP3:%.*]] = call double @llvm.exp2.f64(double [[TMP2]])
-; CHECK-NEXT:    [[TMP4:%.*]] = call reassoc double @llvm.log2.f64(double [[TMP3]])
-; CHECK-NEXT:    ret double [[TMP4]]
+define double @log2_exp2_log2_exp2_fast(double %a) {
+; CHECK-LABEL: @log2_exp2_log2_exp2_fast(
+; CHECK-NEXT:    ret double [[A:%.*]]
 ;
   %1 = call double @llvm.exp2.f64(double %a)
-  %2 = call reassoc double @llvm.log2.f64(double %1)
+  %2 = call fast double @llvm.log2.f64(double %1)
   %3 = call double @llvm.exp2.f64(double %2)
-  %4 = call reassoc double @llvm.log2.f64(double %3)
+  %4 = call fast double @llvm.log2.f64(double %3)
   ret double %4
 }
 
-define double @exp_reassoc_log_strict(double %a) {
-; CHECK-LABEL: @exp_reassoc_log_strict(
-; CHECK-NEXT:    [[TMP1:%.*]] = call double @llvm.log.f64(double [[A:%.*]])
-; CHECK-NEXT:    [[TMP2:%.*]] = call reassoc double @llvm.exp.f64(double [[TMP1]])
-; CHECK-NEXT:    ret double [[TMP2]]
+define double @exp_fast_log_strict(double %a) {
+; CHECK-LABEL: @exp_fast_log_strict(
+; CHECK-NEXT:    ret double [[A:%.*]]
 ;
   %1 = call double @llvm.log.f64(double %a)
-  %2 = call reassoc double @llvm.exp.f64(double %1)
+  %2 = call fast double @llvm.exp.f64(double %1)
   ret double %2
 }
 
-define double @exp_strict_log_reassoc(double %a) {
-; CHECK-LABEL: @exp_strict_log_reassoc(
-; CHECK-NEXT:    [[TMP1:%.*]] = call reassoc double @llvm.log.f64(double [[A:%.*]])
+define double @exp_strict_log_fast(double %a) {
+; CHECK-LABEL: @exp_strict_log_fast(
+; CHECK-NEXT:    [[TMP1:%.*]] = call fast double @llvm.log.f64(double [[A:%.*]])
 ; CHECK-NEXT:    [[TMP2:%.*]] = call double @llvm.exp.f64(double [[TMP1]])
 ; CHECK-NEXT:    ret double [[TMP2]]
 ;
-  %1 = call reassoc double @llvm.log.f64(double %a)
+  %1 = call fast double @llvm.log.f64(double %a)
   %2 = call double @llvm.exp.f64(double %1)
   ret double %2
 }
@@ -148,39 +134,33 @@ define double @exp_log_exp_log(double %a) {
   ret double %4
 }
 
-define double @exp_log_exp_log_reassoc(double %a) {
-; CHECK-LABEL: @exp_log_exp_log_reassoc(
-; CHECK-NEXT:    [[TMP1:%.*]] = call double @llvm.log.f64(double [[A:%.*]])
-; CHECK-NEXT:    [[TMP2:%.*]] = call reassoc double @llvm.exp.f64(double [[TMP1]])
-; CHECK-NEXT:    [[TMP3:%.*]] = call double @llvm.log.f64(double [[TMP2]])
-; CHECK-NEXT:    [[TMP4:%.*]] = call reassoc double @llvm.exp.f64(double [[TMP3]])
-; CHECK-NEXT:    ret double [[TMP4]]
+define double @exp_log_exp_log_fast(double %a) {
+; CHECK-LABEL: @exp_log_exp_log_fast(
+; CHECK-NEXT:    ret double [[A:%.*]]
 ;
   %1 = call double @llvm.log.f64(double %a)
-  %2 = call reassoc double @llvm.exp.f64(double %1)
+  %2 = call fast double @llvm.exp.f64(double %1)
   %3 = call double @llvm.log.f64(double %2)
-  %4 = call reassoc double @llvm.exp.f64(double %3)
+  %4 = call fast double @llvm.exp.f64(double %3)
   ret double %4
 }
 
-define double @exp2_reassoc_log2_strict(double %a) {
-; CHECK-LABEL: @exp2_reassoc_log2_strict(
-; CHECK-NEXT:    [[TMP1:%.*]] = call double @llvm.log2.f64(double [[A:%.*]])
-; CHECK-NEXT:    [[TMP2:%.*]] = call reassoc double @llvm.exp2.f64(double [[TMP1]])
-; CHECK-NEXT:    ret double [[TMP2]]
+define double @exp2_fast_log2_strict(double %a) {
+; CHECK-LABEL: @exp2_fast_log2_strict(
+; CHECK-NEXT:    ret double [[A:%.*]]
 ;
   %1 = call double @llvm.log2.f64(double %a)
-  %2 = call reassoc double @llvm.exp2.f64(double %1)
+  %2 = call fast double @llvm.exp2.f64(double %1)
   ret double %2
 }
 
-define double @exp2_strict_log2_reassoc(double %a) {
-; CHECK-LABEL: @exp2_strict_log2_reassoc(
-; CHECK-NEXT:    [[TMP1:%.*]] = call reassoc double @llvm.log2.f64(double [[A:%.*]])
+define double @exp2_strict_log2_fast(double %a) {
+; CHECK-LABEL: @exp2_strict_log2_fast(
+; CHECK-NEXT:    [[TMP1:%.*]] = call fast double @llvm.log2.f64(double [[A:%.*]])
 ; CHECK-NEXT:    [[TMP2:%.*]] = call double @llvm.exp2.f64(double [[TMP1]])
 ; CHECK-NEXT:    ret double [[TMP2]]
 ;
-  %1 = call reassoc double @llvm.log2.f64(double %a)
+  %1 = call fast double @llvm.log2.f64(double %a)
   %2 = call double @llvm.exp2.f64(double %1)
   ret double %2
 }
@@ -200,18 +180,14 @@ define double @exp2_log2_exp2_log2(double %a) {
   ret double %4
 }
 
-define double @exp2_log2_exp2_log2_reassoc(double %a) {
-; CHECK-LABEL: @exp2_log2_exp2_log2_reassoc(
-; CHECK-NEXT:    [[TMP1:%.*]] = call double @llvm.log2.f64(double [[A:%.*]])
-; CHECK-NEXT:    [[TMP2:%.*]] = call reassoc double @llvm.exp2.f64(double [[TMP1]])
-; CHECK-NEXT:    [[TMP3:%.*]] = call double @llvm.log2.f64(double [[TMP2]])
-; CHECK-NEXT:    [[TMP4:%.*]] = call reassoc double @llvm.exp2.f64(double [[TMP3]])
-; CHECK-NEXT:    ret double [[TMP4]]
+define double @exp2_log2_exp2_log2_fast(double %a) {
+; CHECK-LABEL: @exp2_log2_exp2_log2_fast(
+; CHECK-NEXT:    ret double [[A:%.*]]
 ;
   %1 = call double @llvm.log2.f64(double %a)
-  %2 = call reassoc double @llvm.exp2.f64(double %1)
+  %2 = call fast double @llvm.exp2.f64(double %1)
   %3 = call double @llvm.log2.f64(double %2)
-  %4 = call reassoc double @llvm.exp2.f64(double %3)
+  %4 = call fast double @llvm.exp2.f64(double %3)
   ret double %4
 }