aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gas/ChangeLog5
-rw-r--r--gas/config/tc-i386.c2
-rw-r--r--gas/testsuite/ChangeLog5
-rw-r--r--gas/testsuite/gas/i386/intelbad.l36
-rw-r--r--gas/testsuite/gas/i386/intelbad.s23
5 files changed, 61 insertions, 10 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 9103916..20f43c5 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,8 @@
+2005-11-10 Jan Beulich <jbeulich@novell.com>
+
+ * config/tc-i386.c (intel_e11): Don't special-case segment
+ registers in brackets.
+
2005-11-10 Nick Clifton <nickc@redhat.com>
* config/tc-arm.c (BAD_ADDR_MODE): Define.
diff --git a/gas/config/tc-i386.c b/gas/config/tc-i386.c
index 2612190..bf7a7b0 100644
--- a/gas/config/tc-i386.c
+++ b/gas/config/tc-i386.c
@@ -6644,7 +6644,7 @@ intel_e11 ()
/* No scaling. If this is a memory operand, the register is either a
base register (first occurrence) or an index register (second
occurrence). */
- else if (intel_parser.in_bracket && !(reg->reg_type & (SReg2 | SReg3)))
+ else if (intel_parser.in_bracket)
{
if (!i.base_reg)
diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog
index d896190..eb0881e 100644
--- a/gas/testsuite/ChangeLog
+++ b/gas/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2005-11-10 Jan Beulich <jbeulich@novell.com>
+
+ * gas/i386/intelbad.d: Add tests for ill registers in brackets.
+ * gas/i386/intelbad.l: Adjust.
+
2005-11-10 Nick Clifton <nickc@redhat.com>
* gas/arm/archv6t2-bad.s: Add tests of badly composed ldrex and
diff --git a/gas/testsuite/gas/i386/intelbad.l b/gas/testsuite/gas/i386/intelbad.l
index f8fbe73..198420a 100644
--- a/gas/testsuite/gas/i386/intelbad.l
+++ b/gas/testsuite/gas/i386/intelbad.l
@@ -81,31 +81,49 @@
.*:113: Error: .*
.*:114: Error: .*
.*:115: Error: .*
-.*:116: Error: .*
.*:117: Error: .*
.*:118: Error: .*
.*:119: Error: .*
.*:120: Error: .*
.*:121: Error: .*
.*:122: Error: .*
-.*:123: Error: .*
.*:124: Error: .*
.*:125: Error: .*
.*:126: Error: .*
.*:127: Error: .*
.*:128: Error: .*
-#...
.*:129: Error: .*
-#...
-.*:130: Error: .*
.*:131: Error: .*
.*:132: Error: .*
.*:133: Error: .*
+.*:134: Error: .*
.*:135: Error: .*
.*:136: Error: .*
-.*:137: Error: .*
-.*:138: Warning: .*
-.*:139: Warning: .*
+.*:138: Error: .*
+.*:139: Error: .*
+.*:140: Error: .*
.*:141: Error: .*
-.*:142: Warning: .*
.*:142: Error: .*
+.*:143: Error: .*
+.*:144: Error: .*
+.*:145: Error: .*
+.*:147: Error: .*
+.*:148: Error: .*
+.*:149: Error: .*
+.*:150: Error: .*
+.*:151: Error: .*
+#...
+.*:152: Error: .*
+#...
+.*:153: Error: .*
+.*:154: Error: .*
+.*:155: Error: .*
+.*:156: Error: .*
+.*:158: Error: .*
+.*:159: Error: .*
+.*:160: Error: .*
+.*:161: Warning: .*
+.*:162: Warning: .*
+.*:164: Error: .*
+.*:165: Warning: .*
+.*:165: Error: .*
diff --git a/gas/testsuite/gas/i386/intelbad.s b/gas/testsuite/gas/i386/intelbad.s
index 2a9daad..f3bb96d 100644
--- a/gas/testsuite/gas/i386/intelbad.s
+++ b/gas/testsuite/gas/i386/intelbad.s
@@ -113,6 +113,28 @@ start:
mov eax, [eax]+2*ecx
mov eax, [[eax]ecx]
mov eax, eax:[ecx]
+
+ mov eax, [ss]
+ mov eax, [st]
+ mov eax, [mm0]
+ mov eax, [xmm0]
+ mov eax, [cr0]
+ mov eax, [dr7]
+
+ mov eax, [ss+edx]
+ mov eax, [st+edx]
+ mov eax, [mm0+edx]
+ mov eax, [xmm0+edx]
+ mov eax, [cr0+edx]
+ mov eax, [dr7+edx]
+
+ mov eax, [edx+ss]
+ mov eax, [edx+st]
+ mov eax, [edx+cr0]
+ mov eax, [edx+dr7]
+ mov eax, [edx+mm0]
+ mov eax, [edx+xmm0]
+
lea eax, [bx+si*1]
lea eax, [bp+si*2]
lea eax, [bx+di*4]
@@ -121,6 +143,7 @@ start:
lea eax, [bp+2*si]
lea eax, [bx+4*di]
lea eax, [bp+8*di]
+
mov eax, [ah]
mov eax, [ax]
mov eax, [eax+bx]