diff options
author | Segher Boessenkool <segher@kernel.crashing.org> | 2019-07-01 20:40:40 +0200 |
---|---|---|
committer | Segher Boessenkool <segher@gcc.gnu.org> | 2019-07-01 20:40:40 +0200 |
commit | a3185de66be126c32508f7da8944585d9272d846 (patch) | |
tree | 1890cba04390b971915bde2621149daa939f2f63 /gcc | |
parent | 15f0523424fcb7eac1c6219947f74d843714aea8 (diff) | |
download | gcc-a3185de66be126c32508f7da8944585d9272d846.zip gcc-a3185de66be126c32508f7da8944585d9272d846.tar.gz gcc-a3185de66be126c32508f7da8944585d9272d846.tar.bz2 |
rs6000.md (extenddf<mode>2_fprs): Make this a parameterized name.
@extenddf<mode>2_{fprs,vsx}
* config/rs6000/rs6000.md (extenddf<mode>2_fprs): Make this a
parameterized name.
(extenddf<mode>2_vsx): Make this a parameterized name.
(extenddf<mode>2): Use those names. Simplify.
From-SVN: r272901
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/config/rs6000/rs6000.md | 23 |
2 files changed, 13 insertions, 17 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 63af1c8..bd4c8c5 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,12 @@ 2019-07-01 Segher Boessenkool <segher@kernel.crashing.org> + * config/rs6000/rs6000.md (extenddf<mode>2_fprs): Make this a + parameterized name. + (extenddf<mode>2_vsx): Make this a parameterized name. + (extenddf<mode>2): Use those names. Simplify. + +2019-07-01 Segher Boessenkool <segher@kernel.crashing.org> + * config/rs6000/rs6000.md (eh_set_lr_<mode>): Make this a parameterized name. (eh_return): Use that name. Simplify. diff --git a/gcc/config/rs6000/rs6000.md b/gcc/config/rs6000/rs6000.md index 6470d95..21ef8d7 100644 --- a/gcc/config/rs6000/rs6000.md +++ b/gcc/config/rs6000/rs6000.md @@ -7789,31 +7789,20 @@ if (FLOAT128_IEEE_P (<MODE>mode)) rs6000_expand_float128_convert (operands[0], operands[1], false); else if (TARGET_VSX) - { - if (<MODE>mode == TFmode) - emit_insn (gen_extenddftf2_vsx (operands[0], operands[1])); - else if (<MODE>mode == IFmode) - emit_insn (gen_extenddfif2_vsx (operands[0], operands[1])); - else - gcc_unreachable (); - } - else + emit_insn (gen_extenddf2_vsx (<MODE>mode, operands[0], operands[1])); + else { rtx zero = gen_reg_rtx (DFmode); rs6000_emit_move (zero, CONST0_RTX (DFmode), DFmode); - if (<MODE>mode == TFmode) - emit_insn (gen_extenddftf2_fprs (operands[0], operands[1], zero)); - else if (<MODE>mode == IFmode) - emit_insn (gen_extenddfif2_fprs (operands[0], operands[1], zero)); - else - gcc_unreachable (); + emit_insn (gen_extenddf2_fprs (<MODE>mode, + operands[0], operands[1], zero)); } DONE; }) ;; Allow memory operands for the source to be created by the combiner. -(define_insn_and_split "extenddf<mode>2_fprs" +(define_insn_and_split "@extenddf<mode>2_fprs" [(set (match_operand:IBM128 0 "gpc_reg_operand" "=d,d,&d") (float_extend:IBM128 (match_operand:DF 1 "nonimmediate_operand" "d,m,d"))) @@ -7832,7 +7821,7 @@ operands[4] = simplify_gen_subreg (DFmode, operands[0], <MODE>mode, lo_word); }) -(define_insn_and_split "extenddf<mode>2_vsx" +(define_insn_and_split "@extenddf<mode>2_vsx" [(set (match_operand:IBM128 0 "gpc_reg_operand" "=d,d") (float_extend:IBM128 (match_operand:DF 1 "nonimmediate_operand" "wa,m")))] |