aboutsummaryrefslogtreecommitdiff
path: root/libcpp
diff options
context:
space:
mode:
authorSegher Boessenkool <segher@kernel.crashing.org>2017-10-12 00:40:52 +0200
committerSegher Boessenkool <segher@gcc.gnu.org>2017-10-12 00:40:52 +0200
commite7d77cf92d5b27a7e85a39b9cbf6562e34848728 (patch)
tree8b8a50a42198cf97bc97905b6466a495a58a9126 /libcpp
parent3ff1b2b0a91e25bf5b6499025a7c336a0b71b75f (diff)
downloadgcc-e7d77cf92d5b27a7e85a39b9cbf6562e34848728.zip
gcc-e7d77cf92d5b27a7e85a39b9cbf6562e34848728.tar.gz
gcc-e7d77cf92d5b27a7e85a39b9cbf6562e34848728.tar.bz2
rs6000: Improve isel
This removes output_isel. Instead, the define_insn's now output the isel instructions directly. It adds a reg_or_zero operand predicate, too, because the reg_or_cint predicate is too lax here. Also use it in the "reversed" variants of the instructions. * config/rs6000/predicates.md (zero_constant, all_ones_constant): Move up in file. (reg_or_cint_operand): Fix comment. (reg_or_zero_operand): New predicate. * config/rs6000/rs6000-protos.h (output_isel): Delete. * config/rs6000/rs6000.c (output_isel): Delete. * config/rs6000/rs6000.md (isel_signed_<mode>): Use reg_or_zero_operand instead of reg_or_cint_operand. Output instruction directly (not via output_isel). (isel_unsigned_<mode>): Ditto. (*isel_reversed_signed_<mode>): Use reg_or_zero_operand instead of gpc_reg_operand. Add an instruction alternative for this. Output instruction directly. (*isel_reversed_unsigned_<mode>): Ditto. From-SVN: r253665
Diffstat (limited to 'libcpp')
0 files changed, 0 insertions, 0 deletions