aboutsummaryrefslogtreecommitdiff
path: root/gas/config
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@airs.com>1997-03-24 19:37:05 +0000
committerIan Lance Taylor <ian@airs.com>1997-03-24 19:37:05 +0000
commit2fb44892b162ee91ee03caa88252e979ffba7698 (patch)
tree169ce679305dc44e71bc48b96f449967a8df6428 /gas/config
parente91487242e0159cd1ded0a8a902a05a49c93f009 (diff)
downloadgdb-2fb44892b162ee91ee03caa88252e979ffba7698.zip
gdb-2fb44892b162ee91ee03caa88252e979ffba7698.tar.gz
gdb-2fb44892b162ee91ee03caa88252e979ffba7698.tar.bz2
* config/tc-i386.h (iclrKludge): Define.
* config/tc-i386.c (md_assemble): Handle iclrKludge.
Diffstat (limited to 'gas/config')
-rw-r--r--gas/config/tc-i386.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/gas/config/tc-i386.c b/gas/config/tc-i386.c
index 3d562cd..cec14bc 100644
--- a/gas/config/tc-i386.c
+++ b/gas/config/tc-i386.c
@@ -1345,6 +1345,13 @@ md_assemble (line)
i.reg_operands = 2;
}
+ /* The clr %reg instruction is converted into xor %reg, %reg. */
+ if (t->opcode_modifier & iclrKludge)
+ {
+ i.regs[1] = i.regs[0];
+ i.reg_operands = 2;
+ }
+
/* Certain instructions expect the destination to be in the i.rm.reg
field. This is by far the exceptional case. For these
instructions, if the source operand is a register, we must reverse