[Bug rtl-optimization/52356] New: expr.c:emit_move_multi_word() can overwrite address register

jon at beniston dot com gcc-bugzilla@gcc.gnu.org
Thu Feb 23 16:44:00 GMT 2012


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

             Bug #: 52356
           Summary: expr.c:emit_move_multi_word() can overwrite address
                    register
    Classification: Unclassified
           Product: gcc
           Version: 4.6.1
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: rtl-optimization
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: jon@beniston.com


expr.c:emit_move_multi_word() can copy multiple words from an address specified
by y to a sequence of registers starting at x

However, it seems this code doesn't check to make sure that the register used
for holding the address y, isn't in the destination registers, or if it is,
reorder the sequence of moves, so that the write to this register is the last
move performed.



More information about the Gcc-bugs mailing list