https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60918

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |RESOLVED
         Resolution|---                         |INVALID

--- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
This code is correct because GCC assumes memcpy is used on normal memory.
If you use memcpy on non-normal memory you should not be using memcpy here.

   0: 8c04123c  lw  a0,4668(zero)
   4: 3c021234  lui v0,0x1234
   8: 24425678  addiu v0,v0,22136
   c: 8c031240  lw  v1,4672(zero)
  10: ac820000  sw  v0,0(a0)
  14: 88850000  lwl a1,0(a0)          -> first access: LWL command
  18: 00001021  move  v0,zero
  1c: 98850003  lwr a1,3(a0)          -> second access: LWR command
  20: 00000000  nop
  24: a8650000  swl a1,0(v1)          -> for store operation the same procedure
  28: 03e00008  jr  ra
  2c: b8650003  swr a1,3(v1)          -> second store command

Reply via email to