aboutsummaryrefslogtreecommitdiff
path: root/gcc/reload1.c
diff options
context:
space:
mode:
authorAndreas Krebbel <krebbel@linux.vnet.ibm.com>2016-03-01 09:23:41 +0000
committerAndreas Krebbel <krebbel@gcc.gnu.org>2016-03-01 09:23:41 +0000
commita9fcf821ebc87275f31d4f145b6cb85f1bb79237 (patch)
treeff149799c4077f2dafd41dbf9b34bbdb627ee769 /gcc/reload1.c
parentadf22b3f5a9b826192c4582c897e9b8c8b4ff37a (diff)
downloadgcc-a9fcf821ebc87275f31d4f145b6cb85f1bb79237.zip
gcc-a9fcf821ebc87275f31d4f145b6cb85f1bb79237.tar.gz
gcc-a9fcf821ebc87275f31d4f145b6cb85f1bb79237.tar.bz2
S/390: Get rid of Y constraint in arithmetic right shift
patterns. The arithmetic shift patterns set also the condition code. This adds more substitution potential. Depending on whether the actual result or the CC output will be used 3 different variants of each of these patterns are needed. This multiplied with the PLUS and the AND operands from the earlier substitutions enables a lot of folding. 2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com> * config/s390/s390.md ("*ashrdi3_cc_31") ("*ashrdi3_cconly_31""*ashrdi3_cc_31_and") ("*ashrdi3_cconly_31_and", "*ashrdi3_31_and", "*ashrdi3_31"): Merge insn definitions into ... ("*ashrdi3_31<addr_style_op_cc><masked_op_cc><setcc><cconly>"): New pattern definition. ("*ashr<mode>3_cc", "*ashr<mode>3_cconly", "ashr<mode>3", ) ("*ashr<mode>3_cc_and", "*ashr<mode>3_cconly_and") ("*ashr<mode>3_and"): Merge insn definitions into ... ("*ashr<mode>3<addr_style_op_cc><masked_op_cc><setcc><cconly>"): New pattern definition. * config/s390/subst.md ("addr_style_op_cc_subst") ("masked_op_cc_subst", "setcc_subst", "cconly_subst"): New substitutions patterns plus attributes. Add ashiftrt to SUBST iterator. From-SVN: r233845
Diffstat (limited to 'gcc/reload1.c')
0 files changed, 0 insertions, 0 deletions