[PATCH 08/12] @extenddf<mode>2

Segher Boessenkool segher@kernel.crashing.org
Mon Jul 1 18:26:00 GMT 2019


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.

---
 gcc/config/rs6000/rs6000.md | 9 ++-------
 1 file changed, 2 insertions(+), 7 deletions(-)

diff --git a/gcc/config/rs6000/rs6000.md b/gcc/config/rs6000/rs6000.md
index 3235eb2..5b3e458 100644
--- a/gcc/config/rs6000/rs6000.md
+++ b/gcc/config/rs6000/rs6000.md
@@ -7775,7 +7775,7 @@ (define_insn_and_split "*mov<mode>_softfloat"
 	    (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"
@@ -7922,12 +7922,7 @@ (define_expand "floatsi<mode>2"
     {
       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;
     }
 })
-- 
1.8.3.1



More information about the Gcc-patches mailing list