i386.md (mult->ashift peephole2s): Use pow2p_hwi instead of exact_log2.
authorUros Bizjak <uros@gcc.gnu.org>
Tue, 20 Sep 2016 18:00:46 +0000 (20:00 +0200)
committerUros Bizjak <uros@gcc.gnu.org>
Tue, 20 Sep 2016 18:00:46 +0000 (20:00 +0200)
* config/i386/i386.md (mult->ashift peephole2s): Use pow2p_hwi
instead of exact_log2.

From-SVN: r240281

gcc/ChangeLog
gcc/config/i386/i386.md

index e92ad3866e4497527d45d48a7026fcab05a5a5a2..c7f108013e373c975f19170870378c36b743bc5f 100644 (file)
@@ -1,3 +1,8 @@
+2016-09-20  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.md (mult->ashift peephole2s): Use pow2p_hwi
+       instead of exact_log2.
+
 2016-09-20  Uros Bizjak  <ubizjak@gmail.com>
 
        PR target/77621
 
 2016-09-14  Pat Haugen  <pthaugen@us.ibm.com>
 
-       * loop-unroll.c (unroll_loop_runtime_iterations): Set probability of succ edge.
+       * loop-unroll.c (unroll_loop_runtime_iterations): Set probability
+       of succ edge.
 
 2016-09-14  Segher Boessenkool  <segher@kernel.crashing.org>
 
 
 2016-09-13  Tamar Christina  <tamar.christina@arm.com>
 
-       * config/aarch64/aarch64-builtins.c 
+       * config/aarch64/aarch64-builtins.c
        (aarch64_init_simd_builtins): Fix builtin type signature printing.
 
 2016-09-13  Uros Bizjak  <ubizjak@gmail.com>
index e3c9eadde858488f4dc55f18e6630c8a6ee75ebc..6337a5db5235acd2243b5d3fc1a87653c10f1f21 100644 (file)
   [(set (match_operand:SWI48 0 "register_operand")
        (mult:SWI48 (match_dup 0)
                    (match_operand:SWI48 1 "const_int_operand")))]
-  "exact_log2 (INTVAL (operands[1])) >= 0
+  "pow2p_hwi (INTVAL (operands[1]))
    && peep2_regno_dead_p (0, FLAGS_REG)"
   [(parallel [(set (match_dup 0) (ashift:SWI48 (match_dup 0) (match_dup 1)))
              (clobber (reg:CC FLAGS_REG))])]
          (mult:SI (match_operand:SI 1 "register_operand")
                   (match_operand:SI 2 "const_int_operand"))))]
   "TARGET_64BIT
-   && exact_log2 (INTVAL (operands[2])) >= 0
+   && pow2p_hwi (INTVAL (operands[2]))
    && REGNO (operands[0]) == REGNO (operands[1])
    && peep2_regno_dead_p (0, FLAGS_REG)"
   [(parallel [(set (match_dup 0)