[Top][All Lists]
[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.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Bug gas/13145] New: movem zero offset not removed on ColdFire,
vincent.riviere at freesbee dot fr <=