[Bug target/52483] SH Target: Loads from volatile memory leave redundant sign/zero extensions

olegendo at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Sun Jun 23 08:44:00 GMT 2013


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

--- Comment #4 from Oleg Endo <olegendo at gcc dot gnu.org> ---
Loads from volatile mems have been fixed on 4.9 trunk.
While working on it I noticed that stores to volatile mems have basically the
same issue.  I'll try to come up with a fix for that, too.

http://gcc.gnu.org/viewcvs/gcc?view=revision&revision=200350

    PR target/52483
    * config/sh/predicates.md (general_extend_operand): Invoke
    general_movsrc_operand for memory operands.
    (general_movsrc_operand): Allow reg+reg addressing, do not use
    general_operand for memory operands.

    PR target/52483
    * gcc.target/sh/pr52483-1.c: New.
    * gcc.target/sh/pr52483-2.c: New.
    * gcc.target/sh/pr52483-3.c: New.
    * gcc.target/sh/pr52483-4.c: New.
    * gcc.target/sh/pr52483-5.c: New.



More information about the Gcc-bugs mailing list