From 7b0441f6fd32c5619f112a6289df40782dc1d1f9 Mon Sep 17 00:00:00 2001 From: Jan Beulich Date: Thu, 10 Nov 2005 16:06:28 +0000 Subject: [PATCH] gas/ 2005-11-10 Jan Beulich * config/tc-i386.c (intel_e11): Don't special-case segment registers in brackets. gas/testsuite/ 2005-11-10 Jan Beulich * gas/i386/intelbad.d: Add tests for ill registers in brackets. * gas/i386/intelbad.l: Adjust. --- gas/ChangeLog | 5 +++++ gas/config/tc-i386.c | 2 +- gas/testsuite/ChangeLog | 5 +++++ gas/testsuite/gas/i386/intelbad.l | 36 +++++++++++++++++++++++-------- gas/testsuite/gas/i386/intelbad.s | 23 ++++++++++++++++++++ 5 files changed, 61 insertions(+), 10 deletions(-) diff --git a/gas/ChangeLog b/gas/ChangeLog index 91039162e0a..20f43c5c9b3 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,8 @@ +2005-11-10 Jan Beulich + + * config/tc-i386.c (intel_e11): Don't special-case segment + registers in brackets. + 2005-11-10 Nick Clifton * config/tc-arm.c (BAD_ADDR_MODE): Define. diff --git a/gas/config/tc-i386.c b/gas/config/tc-i386.c index 26121907fb2..bf7a7b05d04 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 d896190018c..eb0881ecf10 100644 --- a/gas/testsuite/ChangeLog +++ b/gas/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2005-11-10 Jan Beulich + + * gas/i386/intelbad.d: Add tests for ill registers in brackets. + * gas/i386/intelbad.l: Adjust. + 2005-11-10 Nick Clifton * 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 f8fbe7377f0..198420a0d81 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 2a9daad989d..f3bb96dcfb3 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] -- 2.30.2