i386.md (int cmove peephole2s): Use general_reg_operand instead of register_and_not_a...
authorUros Bizjak <ubizjak@gmail.com>
Fri, 6 May 2016 14:34:58 +0000 (16:34 +0200)
committerUros Bizjak <uros@gcc.gnu.org>
Fri, 6 May 2016 14:34:58 +0000 (16:34 +0200)
* config/i386/i386.md (int cmove peephole2s): Use general_reg_operand
instead of register_and_not_any_fp_reg_operand as operand 0 predicate.
* config/i386/predicates.md (register_and_not_any_fp_reg_operand):
Remove unused predicate.
(register_and_not_fp_reg_operand): Ditto.

From-SVN: r235975

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

index 6593023843efa8b5d7b23622d64056449aa0c9e9..4e40912d8663d54a840b2670c47b0336f80a90f3 100644 (file)
@@ -1,3 +1,11 @@
+2016-05-06  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.md (int cmove peephole2s): Use general_reg_operand
+       instead of register_and_not_any_fp_reg_operand as operand 0 predicate.
+       * config/i386/predicates.md (register_and_not_any_fp_reg_operand):
+       Remove unused predicate.
+       (register_and_not_fp_reg_operand): Ditto.
+
 2016-05-06  Martin Liska  <mliska@suse.cz>
 
        * tree-if-conv.c (ifcvt_split_critical_edges): Use auto_vec
        (avx512f_<castmode><avxsizesuffix>_<castmode>): Ditto.
        (avx512f_<castmode><avxsizesuffix>_256<castmode>): Ditto.
        (*sse4_1_extractps): Use lowpart_subreg.
+       * config/i386/i386.md (x87 floatsplitter): Use gen_lowpart.
 
 2016-04-18  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
 
index 0bf01ab1fadf5a123414ce50d15b82ab991a0597..8bebba7be021ff3210d2ecf91b050e2e9facd0f8 100644 (file)
   emit_insn (gen_vec_interleave_lowv4si (operands[3], operands[3],
                                         operands[4]));
 
-  operands[3] = gen_rtx_REG (DImode, REGNO (operands[3]));
+  operands[3] = gen_lowpart (DImode, operands[3]);
 })
 
 (define_split
    (set_attr "mode" "DF,DF,DI,DI,DI,DI")])
 
 (define_split
-  [(set (match_operand:DF 0 "register_and_not_any_fp_reg_operand")
+  [(set (match_operand:DF 0 "general_reg_operand")
        (if_then_else:DF (match_operator 1 "fcmov_comparison_operator"
                                [(reg FLAGS_REG) (const_int 0)])
                      (match_operand:DF 2 "nonimmediate_operand")
 ;; Don't do conditional moves with memory inputs
 (define_peephole2
   [(match_scratch:MODEF 4 "r")
-   (set (match_operand:MODEF 0 "register_and_not_any_fp_reg_operand")
+   (set (match_operand:MODEF 0 "general_reg_operand")
        (if_then_else:MODEF (match_operator 1 "fcmov_comparison_operator"
                              [(reg FLAGS_REG) (const_int 0)])
          (match_operand:MODEF 2 "nonimmediate_operand")