diff options
author | Uros Bizjak <uros@gcc.gnu.org> | 2010-04-12 22:20:54 +0200 |
---|---|---|
committer | Uros Bizjak <uros@gcc.gnu.org> | 2010-04-12 22:20:54 +0200 |
commit | e0db9cc648242cbbea38cc3c559663acb501aee8 (patch) | |
tree | 9a4d5d39c4a0cf17232366e25ea5b59494809dfa /gcc/fortran/array.c | |
parent | 077c8adab1eabe459c25ca1419067a00dc2cbd6e (diff) | |
download | gcc-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