2003-08-06  Jason Eckhardt  <jle@rice.edu>

        * config/tc-i860.c (i860_process_insn): Check that instructions
        with their dual-bit set are 8-byte aligned.

gas/testsuite:
2003-08-06  Jason Eckhardt  <jle@rice.edu>

        * gas/i860/dual02-err.l: Update expected error message.
        * gas/i860/README.i860: Remove dual02-err from known failure list.
This commit is contained in:
Jason Eckhardt 2003-08-06 19:53:19 +00:00
parent 086432e254
commit 0acc96e1c8
5 changed files with 22 additions and 4 deletions

View File

@ -1,3 +1,8 @@
2003-08-06 Jason Eckhardt <jle@rice.edu>
* config/tc-i860.c (i860_process_insn): Check that instructions
with their dual-bit set are 8-byte aligned.
2003-08-06 Nick Clifton <nickc@redhat.com> 2003-08-06 Nick Clifton <nickc@redhat.com>
* po/fr.po: Updated French translation. * po/fr.po: Updated French translation.

View File

@ -933,7 +933,13 @@ i860_process_insn (char *str)
{ {
if ((opcode & 0xfc000000) == 0x48000000 || opcode == 0xb0000000) if ((opcode & 0xfc000000) == 0x48000000 || opcode == 0xb0000000)
{ {
opcode |= (1 << 9); /* The instruction is a flop or a fnop, so set its dual bit
(but check that it is 8-byte aligned). */
if (((frag_now->fr_address + frag_now_fix_octets ()) & 7) == 0)
opcode |= (1 << 9);
else
as_bad (_("'d.%s' must be 8-byte aligned"), insn->name);
if (dual_mode == DUAL_DDOT) if (dual_mode == DUAL_DDOT)
dual_mode = DUAL_OFF; dual_mode = DUAL_OFF;
else if (dual_mode == DUAL_ONDDOT) else if (dual_mode == DUAL_ONDDOT)

View File

@ -1,3 +1,8 @@
2003-08-06 Jason Eckhardt <jle@rice.edu>
* gas/i860/dual02-err.l: Update expected error message.
* gas/i860/README.i860: Remove dual02-err from known failure list.
2003-08-05 Jason Eckhardt <jle@rice.edu> 2003-08-05 Jason Eckhardt <jle@rice.edu>
* gas/i860/README.i860: Remove dual01 from the known failures. * gas/i860/README.i860: Remove dual01 from the known failures.

View File

@ -25,10 +25,12 @@ TODO:
tests of the Intel syntax should be added to prevent bitrot (including tests of the Intel syntax should be added to prevent bitrot (including
relocatable expression syntax, etc). Test file dual03.s uses Intel relocatable expression syntax, etc). Test file dual03.s uses Intel
syntax lightly (i.e., register names without '%' prefix). syntax lightly (i.e., register names without '%' prefix).
- Currently, .align in a .text section fills with 0x00000000. This is
a defect and it needs to fill with nop (0xa0000000). Write a testcase
for it.
Contact me (Jason Eckhardt, jle@rice.edu) if you'd like to help. Contact me (Jason Eckhardt, jle@rice.edu) if you'd like to help.
Known testsuite failures: Known testsuite failures:
- dual02-err.s: GAS currently doesn't check that dual mode pairs - none.
are properly aligned.

View File

@ -1,2 +1,2 @@
.*: Assembler messages: .*: Assembler messages:
.*:7: Error: FLOP with 'd\.' prefix must be 8-byte aligned .*:7: Error: 'd\.fadd\.ss' must be 8-byte aligned