+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>
* po/fr.po: Updated French translation.
{
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)
dual_mode = DUAL_OFF;
else if (dual_mode == DUAL_ONDDOT)
+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>
* gas/i860/README.i860: Remove dual01 from the known failures.
tests of the Intel syntax should be added to prevent bitrot (including
relocatable expression syntax, etc). Test file dual03.s uses Intel
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.
Known testsuite failures:
- - dual02-err.s: GAS currently doesn't check that dual mode pairs
- are properly aligned.
+ - none.
.*: Assembler messages:
-.*:7: Error: FLOP with 'd\.' prefix must be 8-byte aligned
+.*:7: Error: 'd\.fadd\.ss' must be 8-byte aligned