From 2fb44892b162ee91ee03caa88252e979ffba7698 Mon Sep 17 00:00:00 2001 From: Ian Lance Taylor Date: Mon, 24 Mar 1997 19:37:05 +0000 Subject: [PATCH] * config/tc-i386.h (iclrKludge): Define. * config/tc-i386.c (md_assemble): Handle iclrKludge. --- gas/ChangeLog | 3 +++ gas/config/tc-i386.c | 7 +++++++ 2 files changed, 10 insertions(+) diff --git a/gas/ChangeLog b/gas/ChangeLog index a832a08bad8..c359b9d70bf 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,5 +1,8 @@ Mon Mar 24 12:11:18 1997 Ian Lance Taylor + * config/tc-i386.h (iclrKludge): Define. + * config/tc-i386.c (md_assemble): Handle iclrKludge. + * config/tc-alpha.h (tc_frob_file_before_adjust): Define if OBJ_ECOFF. (alpha_frob_file_before_adjust): Declare if OBJ_ECOFF. diff --git a/gas/config/tc-i386.c b/gas/config/tc-i386.c index 3d562cd0bf0..cec14bc1ddf 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 -- 2.30.2