mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2025-01-30 12:44:10 +08:00
Convert mode 5 addressing with zero offset into mode 2 addressing to save a
word.
This commit is contained in:
parent
164e712d71
commit
580b9172d2
@ -1,3 +1,8 @@
|
||||
2004-05-28 Peter Barada <peter@the-baradas.com>
|
||||
|
||||
* config/gc-m68k.c(m68k_ip): Convert mode 5 addressing
|
||||
with zero offset into mode 2 addressing to save a word.
|
||||
|
||||
2004-05-27 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
* config/tc-ia64.c (ar_is_in_integer_unit): Removed.
|
||||
|
@ -2261,6 +2261,19 @@ m68k_ip (instring)
|
||||
|
||||
nextword = get_num (&opP->disp, 90);
|
||||
|
||||
/* Convert mode 5 addressing with a zero offset into
|
||||
mode 2 addressing to reduce the instruction size by a
|
||||
word. */
|
||||
if (! isvar (&opP->disp)
|
||||
&& (nextword == 0)
|
||||
&& (opP->disp.size == SIZE_UNSPEC)
|
||||
&& (opP->reg >= ADDR0)
|
||||
&& (opP->reg <= ADDR7))
|
||||
{
|
||||
tmpreg = 0x10 + opP->reg - ADDR; /* 2.areg */
|
||||
break;
|
||||
}
|
||||
|
||||
if (opP->reg == PC
|
||||
&& ! isvar (&opP->disp)
|
||||
&& m68k_abspcadd)
|
||||
|
@ -1,3 +1,10 @@
|
||||
2004-05-28 Peter Barada <peter@the-baradas.com>
|
||||
|
||||
* gas/m68k/mode5.s: New test file. Checks conversion of mode 5
|
||||
addressing with zero offset into mode 2 addressing.
|
||||
* gas/m68k/mode5.d: New file: Expected disassmbly.
|
||||
* gas/m68k/all.exp: Run new test.
|
||||
|
||||
2004-05-27 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
* gas/ia64/regs.d: Updated.
|
||||
|
@ -35,6 +35,7 @@ if [istarget m68*-*-*] then {
|
||||
run_dump_test link
|
||||
run_dump_test fmoveml
|
||||
run_dump_test mcf-mov3q
|
||||
run_dump_test mode5
|
||||
run_dump_test mcf-mac
|
||||
run_dump_test mcf-emac
|
||||
|
||||
|
12
gas/testsuite/gas/m68k/mode5.d
Normal file
12
gas/testsuite/gas/m68k/mode5.d
Normal file
@ -0,0 +1,12 @@
|
||||
#name: mode5
|
||||
#objdump: -d
|
||||
#as:
|
||||
|
||||
.*: file format .*
|
||||
|
||||
Disassembly of section .text:
|
||||
|
||||
00000000 <.text>:
|
||||
0: 2213 movel %a3@,%d1
|
||||
2: 2882 movel %d2,%a4@
|
||||
4: 2295 movel %a5@,%a1@
|
6
gas/testsuite/gas/m68k/mode5.s
Normal file
6
gas/testsuite/gas/m68k/mode5.s
Normal file
@ -0,0 +1,6 @@
|
||||
|
||||
| Test conversion of mode 5 addressing with a zero offset into mode 2.
|
||||
.text
|
||||
move.l 0(%a3),%d1
|
||||
move.l %d2,0(%a4)
|
||||
move.l 0(%a5),0(%a1)
|
Loading…
Reference in New Issue
Block a user