rs6000.md (extenddf<mode>2): Make this a parameterized name.
authorSegher Boessenkool <segher@kernel.crashing.org>
Mon, 1 Jul 2019 18:43:10 +0000 (20:43 +0200)
committerSegher Boessenkool <segher@gcc.gnu.org>
Mon, 1 Jul 2019 18:43:10 +0000 (20:43 +0200)
@extenddf<mode>2

* config/rs6000/rs6000.md (extenddf<mode>2): Make this a parameterized
name.
(floatsi<mode>2): Use that name.  Simplify.

From-SVN: r272903

gcc/ChangeLog
gcc/config/rs6000/rs6000.md

index fd2ebf11281278dae473343ad949ca34a580f026..80c8a2adf58ebe78179f050d912379f9373a3695 100644 (file)
@@ -6,6 +6,12 @@
        Use TARGET_SSE && SSE_REGNO_P in split condition.
        (*vec_dupv2sf): Ditto.
 
+2019-07-01  Segher Boessenkool  <segher@kernel.crashing.org>
+
+       * config/rs6000/rs6000.md (extenddf<mode>2): Make this a parameterized
+       name.
+       (floatsi<mode>2): Use that name.  Simplify.
+
 2019-07-01  Segher Boessenkool  <segher@kernel.crashing.org>
 
        * config/rs6000/rs6000.md (extenddf<mode>2_fprs): Make this a
index 21ef8d7a3ad415d711dd5476b156b2bc1555fea3..61d039916423666ecd4f0273cdc9768d6dd3f2a7 100644 (file)
            (const_string "8")
            (const_string "16"))])])
 
-(define_expand "extenddf<mode>2"
+(define_expand "@extenddf<mode>2"
   [(set (match_operand:FLOAT128 0 "gpc_reg_operand")
        (float_extend:FLOAT128 (match_operand:DF 1 "gpc_reg_operand")))]
   "TARGET_HARD_FLOAT && TARGET_LONG_DOUBLE_128"
     {
       rtx tmp = gen_reg_rtx (DFmode);
       expand_float (tmp, op1, false);
-      if (<MODE>mode == TFmode)
-       emit_insn (gen_extenddftf2 (op0, tmp));
-      else if (<MODE>mode == IFmode)
-       emit_insn (gen_extenddfif2 (op0, tmp));
-      else
-       gcc_unreachable ();
+      emit_insn (gen_extenddf2 (<MODE>mode, op0, tmp));
       DONE;
     }
 })