aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/array.c
diff options
context:
space:
mode:
authorUros Bizjak <uros@gcc.gnu.org>2010-04-12 22:20:54 +0200
committerUros Bizjak <uros@gcc.gnu.org>2010-04-12 22:20:54 +0200
commite0db9cc648242cbbea38cc3c559663acb501aee8 (patch)
tree9a4d5d39c4a0cf17232366e25ea5b59494809dfa /gcc/fortran/array.c
parent077c8adab1eabe459c25ca1419067a00dc2cbd6e (diff)
downloadgcc-e0db9cc648242cbbea38cc3c559663acb501aee8.zip
gcc-e0db9cc648242cbbea38cc3c559663acb501aee8.tar.gz
gcc-e0db9cc648242cbbea38cc3c559663acb501aee8.tar.bz2
i386.md (any_rotate): New code iterator.
* config/i386/i386.md (any_rotate): New code iterator. (rotate_insn): New code attribute. (rotate): Ditto. (SWIM124): New mode iterator. (<rotate_insn>ti3): New expander. (<rotate_insn>di3): Macroize expander from {rotl,rotr}di3 using any_rotate code iterator. (<rotate_insn><mode>3) Macroize expander from {rotl,rotr}{qi,hi,si}3 using any_rotate code iterator and SWIM124 mode iterator. (ix86_rotlti3): New insn_and_split pattern. (ix86_rotrti3): Ditto. (ix86_rotl<dwi>3_doubleword): Macroize insn_and_split pattern from ix86_rotl{di,ti}3 patterns. (ix86_rotr<dwi>3_doubleword): Ditto from ix86_rotr{di,ti}3 patterns. (*<rotate_insn><mode>3_1): Merge with *{rotl,rotr}{qi,hi,si}3_1_one_bit and *{rotl,rotr}di3_1_one_bit_rex64. Macroize insn from *{rotl,rotr}{qi,hi,si}3_1 and *{rotl,rotr}di3_1_rex64 using any_rotate code iterator and SWI mode iterator. (*<rotate_insn>si3_1_zext): Merge with *{rotl,rotr}si3_1_one_bit_zext. Macroize insn from {rotl,rotr}si3_1_zext using any_rotate code iterator. (*<rotate_insn>qi3_1_slp): Merge with *{rotl,rotr}qi3_1_one_bit_slp. Macroize insn from {rotl,rotr}qi3_1_slp using any_rotate code iterator. (bswap rotatert splitter): Add splitter. (bswap splitter): Macroize splitter using any_rotate code iterator. Add insn predicate to split only for TARGET_USE_XCHGB or when optimizing function for size. testsuite/ChangeLog: * gcc.target/i386/rotate-2.c: New test. From-SVN: r158243
Diffstat (limited to 'gcc/fortran/array.c')
0 files changed, 0 insertions, 0 deletions