diff options
| -rw-r--r-- | gcc/ChangeLog | 6 | ||||
| -rw-r--r-- | gcc/config/rs6000/rs6000.md | 5 |
2 files changed, 8 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index f4721ce..638c11d 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2003-09-24 David Edelsohn <edelsohn@gnu.org> + + * config/rs6000/rs6000.md (movti_power): Collapse case 1 and 2 + together. Protect load string instruction with TARGET_STRING. + (movti_string): Collapse case 1 and 2 together. + 2003-09-24 Nathan Sidwell <nathan@codesourcery.com> * c-common.c (c_common_type_for_mode): Check for VOIDmode. diff --git a/gcc/config/rs6000/rs6000.md b/gcc/config/rs6000/rs6000.md index d1264c6..d4e88c7 100644 --- a/gcc/config/rs6000/rs6000.md +++ b/gcc/config/rs6000/rs6000.md @@ -8697,13 +8697,13 @@ if (TARGET_STRING) return \"{stsi|stswi} %1,%P0,16\"; case 1: - return \"#\"; case 2: return \"#\"; case 3: /* If the address is not used in the output, we can use lsi. Otherwise, fall through to generating four loads. */ - if (! reg_overlap_mentioned_p (operands[0], operands[1])) + if (TARGET_STRING + && ! reg_overlap_mentioned_p (operands[0], operands[1])) return \"{lsi|lswi} %0,%P1,16\"; /* ... fall through ... */ case 4: @@ -8727,7 +8727,6 @@ if (TARGET_STRING) return \"{stsi|stswi} %1,%P0,16\"; case 1: - return \"#\"; case 2: return \"#\"; case 3: |
