------- Comment #8 from amodra at bigpond dot net dot au  2006-04-09 13:51 
-------
This horrible hack should cure the problem, I think.  The rationale is that
spe.md uses %y only for evldd and evstdd insns, which load or store 8 bytes.
The lock insns use %y for 4 byte quantities (e500 doesn't support 64-bit
ldarx/stdcx. as far as I know).

--- rs6000.c    (revision 112800)
+++ rs6000.c    (working copy)
@@ -10750,7 +10750,7 @@ print_operand (FILE *file, rtx x, int co

        tmp = XEXP (x, 0);

-       if (TARGET_E500)
+       if (TARGET_E500 && GET_MODE_SIZE (GET_MODE (x)) == 8)
          {
            /* Handle [reg].  */
            if (GET_CODE (tmp) == REG)


-- 

amodra at bigpond dot net dot au changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |amodra at bigpond dot net
                   |                            |dot au


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27075

Reply via email to