aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2007-10-05 17:50:47 +0000
committerH.J. Lu <hjl.tools@gmail.com>2007-10-05 17:50:47 +0000
commit368d64cc3710aa21451bf085225d4986fcb53486 (patch)
treead050559f553ce78acc5883f527f26633f0c9995
parent2fb69fac7ae5550eeb0d89a2aca5bdfc7a5fbb27 (diff)
downloadgdb-368d64cc3710aa21451bf085225d4986fcb53486.zip
gdb-368d64cc3710aa21451bf085225d4986fcb53486.tar.gz
gdb-368d64cc3710aa21451bf085225d4986fcb53486.tar.bz2
2007-10-05 H.J. Lu <hongjiu.lu@intel.com>
* config/tc-i386.c (build_modrm_byte): Check the first 2 8bit immediate operands directly for instructions with 4 operands.
-rw-r--r--gas/ChangeLog5
-rw-r--r--gas/config/tc-i386.c9
2 files changed, 10 insertions, 4 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 1b2e47b..b3f610e 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,8 @@
+2007-10-05 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/tc-i386.c (build_modrm_byte): Check the first 2 8bit
+ immediate operands directly for instructions with 4 operands.
+
2007-10-04 H.J. Lu <hongjiu.lu@intel.com>
PR gas/5109
diff --git a/gas/config/tc-i386.c b/gas/config/tc-i386.c
index 56bf31f..a1f60ed 100644
--- a/gas/config/tc-i386.c
+++ b/gas/config/tc-i386.c
@@ -4421,11 +4421,12 @@ build_modrm_byte (void)
source = 0;
break;
case 4:
- /* When there are 4 operands, the first two must be immediate
- operands. The source operand will be the 3rd one. */
+ /* When there are 4 operands, the first two must be 8bit
+ immediate operands. The source operand will be the 3rd
+ one. */
assert (i.imm_operands == 2
- && operand_type_check (i.types[0], imm)
- && operand_type_check (i.types[1], imm));
+ && i.types[0].bitfield.imm8
+ && i.types[1].bitfield.imm8);
source = 2;
break;
default: