diff options
author | Alan Modra <amodra@bigpond.net.au> | 2006-08-25 18:56:08 +0000 |
---|---|---|
committer | David Edelsohn <dje@gcc.gnu.org> | 2006-08-25 14:56:08 -0400 |
commit | 90d3ff1c724fa47fb5d348f9f9eb0d12c1fda06b (patch) | |
tree | 726bb06a5f2dfa94113c33948669298fc13da826 /gcc | |
parent | e88e0907bd713ba3f9b3ebc952dab17b86588f44 (diff) | |
download | gcc-90d3ff1c724fa47fb5d348f9f9eb0d12c1fda06b.zip gcc-90d3ff1c724fa47fb5d348f9f9eb0d12c1fda06b.tar.gz gcc-90d3ff1c724fa47fb5d348f9f9eb0d12c1fda06b.tar.bz2 |
re PR target/27075 (Compiler generate incorrect assembler for __sync_fetch-* builtins on e500 aka SPE)
PR target/27075
* config/rs6000/rs6000.c (print_operand): Only use e500 %y syntax
for 8 byte objects.
From-SVN: r116425
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/config/rs6000/rs6000.c | 3 |
2 files changed, 8 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 987e7c2..81bc0d7 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2006-08-25 Alan Modra <amodra@bigpond.net.au> + + PR target/27075 + * config/rs6000/rs6000.c (print_operand): Only use e500 %y syntax + for 8 byte objects. + 2006-08-25 J"orn Rennecke <joern.rennecke@st.com> PR tree-optimization/16876 diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c index 9bae3f8..780e905 100644 --- a/gcc/config/rs6000/rs6000.c +++ b/gcc/config/rs6000/rs6000.c @@ -10789,7 +10789,8 @@ print_operand (FILE *file, rtx x, int code) tmp = XEXP (x, 0); - if (TARGET_E500) + /* Ugly hack because %y is overloaded. */ + if (TARGET_E500 && GET_MODE_SIZE (GET_MODE (x)) == 8) { /* Handle [reg]. */ if (GET_CODE (tmp) == REG) |