word.
+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.
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)
+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.
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
--- /dev/null
+#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@
--- /dev/null
+
+ | 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)