This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[PATCH 12/12] @ieee_128bit_vsx_abs<mode>2
2019-07-01 Segher Boessenkool <segher@kernel.crashing.org>
* config/rs6000/rs6000.md (ieee_128bit_vsx_abs<mode>2): Make this a
parameterized name.
(abs<mode>2): Use that name. Simplify.
---
gcc/config/rs6000/rs6000.md | 10 +++-------
1 file changed, 3 insertions(+), 7 deletions(-)
diff --git a/gcc/config/rs6000/rs6000.md b/gcc/config/rs6000/rs6000.md
index 86acaae..9e81df9 100644
--- a/gcc/config/rs6000/rs6000.md
+++ b/gcc/config/rs6000/rs6000.md
@@ -8116,12 +8116,8 @@ (define_expand "abs<mode>2"
}
else if (TARGET_FLOAT128_TYPE)
{
- if (<MODE>mode == TFmode)
- emit_insn (gen_ieee_128bit_vsx_abstf2 (operands[0], operands[1]));
- else if (<MODE>mode == KFmode)
- emit_insn (gen_ieee_128bit_vsx_abskf2 (operands[0], operands[1]));
- else
- FAIL;
+ emit_insn (gen_ieee_128bit_vsx_abs2 (<MODE>mode,
+ operands[0], operands[1]));
DONE;
}
else
@@ -8212,7 +8208,7 @@ (define_insn "*ieee_128bit_vsx_neg<mode>2_internal"
[(set_attr "type" "veclogical")])
;; IEEE 128-bit absolute value
-(define_insn_and_split "ieee_128bit_vsx_abs<mode>2"
+(define_insn_and_split "@ieee_128bit_vsx_abs<mode>2"
[(set (match_operand:IEEE128 0 "register_operand" "=wa")
(abs:IEEE128 (match_operand:IEEE128 1 "register_operand" "wa")))
(clobber (match_scratch:V16QI 2 "=v"))]
--
1.8.3.1