diff --git a/lib/Analysis/InstructionSimplify.cpp b/lib/Analysis/InstructionSimplify.cpp
index ed3ba77..c83d62f 100644
--- a/lib/Analysis/InstructionSimplify.cpp
+++ b/lib/Analysis/InstructionSimplify.cpp
@@ -4940,7 +4940,15 @@
   case Intrinsic::log2:
     // log2(exp2(x)) -> x
     if (Q.CxtI->hasAllowReassoc() &&
-        match(Op0, m_Intrinsic<Intrinsic::exp2>(m_Value(X)))) return X;
+        (match(Op0, m_Intrinsic<Intrinsic::exp2>(m_Value(X))) ||
+         match(Op0, m_Intrinsic<Intrinsic::pow>(m_SpecificFP(2.0),
+                                                m_Value(X))))) return X;
+    break;
+  case Intrinsic::log10:
+    // log10(pow(10.0, x)) -> x
+    if (Q.CxtI->hasAllowReassoc() &&
+        match(Op0, m_Intrinsic<Intrinsic::pow>(m_SpecificFP(10.0),
+                                               m_Value(X)))) return X;
     break;
   default:
     break;
diff --git a/test/Transforms/InstSimplify/log10-pow10-intrinsic.ll b/test/Transforms/InstSimplify/log10-pow10-intrinsic.ll
index f0ffbf4..a5b7afd 100644
--- a/test/Transforms/InstSimplify/log10-pow10-intrinsic.ll
+++ b/test/Transforms/InstSimplify/log10-pow10-intrinsic.ll
@@ -28,9 +28,7 @@
 
 define double @log10_reassoc_pow10_strict(double %x) {
 ; CHECK-LABEL: @log10_reassoc_pow10_strict(
-; CHECK-NEXT:    [[TMP1:%.*]] = call double @llvm.pow.f64(double 1.000000e+01, double [[X:%.*]])
-; CHECK-NEXT:    [[TMP2:%.*]] = call reassoc double @llvm.log10.f64(double [[TMP1]])
-; CHECK-NEXT:    ret double [[TMP2]]
+; CHECK-NEXT:    ret double [[X:%.*]]
 ;
   %tmp = call double @llvm.pow.f64(double 1.000000e+01, double %x)
   %tmp1 = call reassoc double @llvm.log10.f64(double %tmp)
@@ -39,9 +37,7 @@
 
 define double @log10_pow10_reassoc(double %x) {
 ; CHECK-LABEL: @log10_pow10_reassoc(
-; CHECK-NEXT:    [[TMP1:%.*]] = call reassoc double @llvm.pow.f64(double 1.000000e+01, double [[X:%.*]])
-; CHECK-NEXT:    [[TMP2:%.*]] = call reassoc double @llvm.log10.f64(double [[TMP1]])
-; CHECK-NEXT:    ret double [[TMP2]]
+; CHECK-NEXT:    ret double [[X:%.*]]
 ;
   %tmp = call reassoc double @llvm.pow.f64(double 1.000000e+01, double %x)
   %tmp1 = call reassoc double @llvm.log10.f64(double %tmp)
diff --git a/test/Transforms/InstSimplify/log2-pow2-intrinsic.ll b/test/Transforms/InstSimplify/log2-pow2-intrinsic.ll
index 519db51..8d8ef80 100644
--- a/test/Transforms/InstSimplify/log2-pow2-intrinsic.ll
+++ b/test/Transforms/InstSimplify/log2-pow2-intrinsic.ll
@@ -28,9 +28,7 @@
 
 define double @log2_reassoc_pow2_strict(double %x) {
 ; CHECK-LABEL: @log2_reassoc_pow2_strict(
-; CHECK-NEXT:    [[TMP:%.*]] = call double @llvm.pow.f64(double 2.000000e+00, double [[X:%.*]])
-; CHECK-NEXT:    [[TMP1:%.*]] = call reassoc double @llvm.log2.f64(double [[TMP]])
-; CHECK-NEXT:    ret double [[TMP1]]
+; CHECK-NEXT:    ret double [[X:%.*]]
 ;
   %tmp = call double @llvm.pow.f64(double 2.000000e+00, double %x)
   %tmp1 = call reassoc double @llvm.log2.f64(double %tmp)
@@ -39,9 +37,7 @@
 
 define double @log2_pow2_reassoc(double %x) {
 ; CHECK-LABEL: @log2_pow2_reassoc(
-; CHECK-NEXT:    [[TMP:%.*]] = call reassoc double @llvm.pow.f64(double 2.000000e+00, double [[X:%.*]])
-; CHECK-NEXT:    [[TMP1:%.*]] = call reassoc double @llvm.log2.f64(double [[TMP]])
-; CHECK-NEXT:    ret double [[TMP1]]
+; CHECK-NEXT:    ret double [[X:%.*]]
 ;
   %tmp = call reassoc double @llvm.pow.f64(double 2.000000e+00, double %x)
   %tmp1 = call reassoc double @llvm.log2.f64(double %tmp)
