OSDN Git Service

PR target/23649
authoramodra <amodra@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 1 Sep 2005 02:47:59 +0000 (02:47 +0000)
committeramodra <amodra@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 1 Sep 2005 02:47:59 +0000 (02:47 +0000)
commitef07ff3370aa4c7a31df6187583111c0e1b3b63a
tree3e3c262979b2fe6478c697cb522554c27efc95c8
parent0a8d9665eb8ede838a4ee525e7a08939ba7298fc
PR target/23649
* config/rs6000/predicates.md (mask_operand): Only handle rlwinm masks.
(mask64_operand): Reinstate code prior to 2005-06-11 change.
(mask64_2_operand): Reinstate code prior to 2004-11-11 change.
(and64_2_operand): Tweak to use predicate.
(and_operand): Adjust for mask_operand changes.
* config/rs6000/rs6000.c (num_insns_constant): Revert 2005-06-11.
(print_operand): Likewise.
(rs6000_rtx_costs): Pass mode to mask_operand and use mask64_operand.
(mask64_1or2_operand): Delete.
* rs6000/rs6000-protos.h (mask64_1or2_operand): Delete.
* config/rs6000/rs6000.h (EXTRA_CONSTRAINT <S>): Revert 2005-06-11.
(EXTRA_CONSTRAINT <T>): Pass operand mode to predicate.
(EXTRA_CONSTRAINT <t>): Disallow mask64_operand matches.
* config/rs6000/rs6000.md (andsi3_internal3 split): Revert 2005-06-11.
(rotldi3_internal4): Likewise.
(rotldi3_internal5, rotldi3_internal5 split): Likewise.
(rotldi3_internal6, rotldi3_internal6 split): Likewise.
(ashldi3_internal7): Likewise.
(ashldi3_internal8, ashldi3_internal8 split): Likewise.
(ashldi3_internal, ashldi3_internal9 split): Likewise.
(anddi3 split): Don't match mask64_operand.
(anddi3_internal2): Add rlwinm.  Modify 't' splitter predicate.
(anddi3_internal3): Add rlwinm.  Use and64_2_operand in non-cr0
splitter and match TARGET_64BIT not TARGET_POWERPC64.  Modify
't' splitter predicate.
(movdi_internal64 + 2): Revert 2005-06-11 change.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@103716 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/config/rs6000/predicates.md
gcc/config/rs6000/rs6000-protos.h
gcc/config/rs6000/rs6000.c
gcc/config/rs6000/rs6000.h
gcc/config/rs6000/rs6000.md