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

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

From-SVN: r272906

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

index b36c001d37c7e64911f7b07384584db3927ebf5a..89174491d7a5f14967317288ca83ec2067143b31 100644 (file)
@@ -1,3 +1,9 @@
+2019-07-01  Segher Boessenkool  <segher@kernel.crashing.org>
+
+       * config/rs6000/rs6000.md (ieee_128bit_vsx_neg<mode>2): Make this a
+       parameterized name.
+       (neg<mode>2): Use that name.  Simplify.
+
 2019-07-01  Segher Boessenkool  <segher@kernel.crashing.org>
 
        * config/rs6000/rs6000.md (abs<mode>2_hw): Make this a parameterized
index 0eec35ec866ee70e1e7a0e3afea6434fb75c35d2..011edc3759d03eed35eca6d8c4e030522d06d9fe 100644 (file)
       if (TARGET_FLOAT128_HW)
        emit_insn (gen_neg2_hw (<MODE>mode, operands[0], operands[1]));
       else if (TARGET_FLOAT128_TYPE)
-       {
-         if (<MODE>mode == TFmode)
-           emit_insn (gen_ieee_128bit_vsx_negtf2 (operands[0], operands[1]));
-         else if (<MODE>mode == KFmode)
-           emit_insn (gen_ieee_128bit_vsx_negkf2 (operands[0], operands[1]));
-         else
-           gcc_unreachable ();
-       }
+       emit_insn (gen_ieee_128bit_vsx_neg2 (<MODE>mode,
+                                            operands[0], operands[1]));
       else
        {
          rtx libfunc = optab_libfunc (neg_optab, <MODE>mode);
 ;; twiddle the sign bit.  Later GCSE passes can then combine multiple uses of
 ;; neg/abs to create the constant just once.
 
-(define_insn_and_split "ieee_128bit_vsx_neg<mode>2"
+(define_insn_and_split "@ieee_128bit_vsx_neg<mode>2"
   [(set (match_operand:IEEE128 0 "register_operand" "=wa")
        (neg:IEEE128 (match_operand:IEEE128 1 "register_operand" "wa")))
    (clobber (match_scratch:V16QI 2 "=v"))]