bug-binutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug gas/13145] New: movem zero offset not removed on ColdFire


From: vincent.riviere at freesbee dot fr
Subject: [Bug gas/13145] New: movem zero offset not removed on ColdFire
Date: Wed, 31 Aug 2011 22:14:38 +0000

http://sourceware.org/bugzilla/show_bug.cgi?id=13145

             Bug #: 13145
           Summary: movem zero offset not removed on ColdFire
           Product: binutils
           Version: 2.22 (HEAD)
            Status: NEW
          Severity: normal
          Priority: P2
         Component: gas
        AssignedTo: address@hidden
        ReportedBy: address@hidden
    Classification: Unclassified
            Target: m68k-elf


Usually, gas transparently transforms a "register indirect with offset" operand
to a simple "register indirect" when the offset is zero. But this does not
happen with movem on ColdFire.

$ cat bug.s
        move.l  (%a0),%d0
        move.l  0(%a0),%d0

        movem.l (%a0),%d0
        movem.l 0(%a0),%d0

$ as bug.s -o bug.o -m68000
$ objdump -d bug.o
...
   0:   2010            movel %a0@,%d0
   2:   2010            movel %a0@,%d0
   4:   4cd0 0001       moveml %a0@,%d0
   8:   4cd0 0001       moveml %a0@,%d0

We can see that on 68000 a zero offset is ignored, with both move and movem.
Now, to the same for ColdFire:

$ as bug.s -o bug.o -mcpu=5475
$ objdump -d bug.o
...
   0:   2010            movel %a0@,%d0
   2:   2010            movel %a0@,%d0
   4:   4cd0 0001       moveml %a0@,%d0
   8:   4ce8 0001 0000  moveml %a0@(0),%d0

We can see that on ColdFire the zero offset is ignored with move, but is kept
unoptimized on ColdFire. This behavior is inconsistent. movem should be fixed
and behave on ColdFire as it works on 68000.

-- 
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]