Convert mode 5 addressing with zero offset into mode 2 addressing to save a

word.
This commit is contained in:
Nick Clifton 2004-05-28 07:55:21 +00:00
parent 164e712d71
commit 580b9172d2
6 changed files with 44 additions and 0 deletions

View File

@ -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.

View File

@ -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)

View File

@ -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.

View File

@ -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

View 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@

View 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)