diff options
Diffstat (limited to 'gas')
-rw-r--r-- | gas/ChangeLog | 5 | ||||
-rw-r--r-- | gas/config/tc-i386-intel.c | 1 | ||||
-rw-r--r-- | gas/testsuite/ChangeLog | 13 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/disp-intel.d | 1 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/disp.d | 1 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/disp.s | 2 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/intelbad.l | 1 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/intelbad.s | 2 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/x86-64-disp-intel.d | 1 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/x86-64-disp.d | 1 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/x86-64-disp.s | 2 |
11 files changed, 28 insertions, 2 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog index 9a9026e..83f867c 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,5 +1,10 @@ 2009-09-15 H.J. Lu <hongjiu.lu@intel.com> + * config/tc-i386-intel.c (i386_intel_operand): Initialize + intel_state.has_offset to 0. + +2009-09-15 H.J. Lu <hongjiu.lu@intel.com> + * config/tc-i386.c (offset_in_range): Sign extend offset only for 32bit address mode. diff --git a/gas/config/tc-i386-intel.c b/gas/config/tc-i386-intel.c index 0c37e45..5d5e0c1 100644 --- a/gas/config/tc-i386-intel.c +++ b/gas/config/tc-i386-intel.c @@ -466,6 +466,7 @@ i386_intel_operand (char *operand_string, int got_a_float) /* Initialize state structure. */ intel_state.op_modifier = O_absent; intel_state.is_mem = 0; + intel_state.has_offset = 0; intel_state.base = NULL; intel_state.index = NULL; intel_state.seg = NULL; diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog index ceff29a..9d2fff2 100644 --- a/gas/testsuite/ChangeLog +++ b/gas/testsuite/ChangeLog @@ -1,3 +1,16 @@ +2009-09-15 H.J. Lu <hongjiu.lu@intel.com> + + * gas/i386/disp.s: Add an offset test. + * gas/i386/x86-64-disp.s: Likewise. + + * gas/i386/intelbad.s: Comment out "byte ptr [1]" test. + + * gas/i386/disp.d: Updated. + * gas/i386/disp-intel.d: Likewise. + * gas/i386/intelbad.l: Likewise. + * gas/i386/x86-64-disp.d: Likewise. + * gas/i386/x86-64-disp-intel.d: Likewise. + 2009-09-14 H.J. Lu <hongjiu.lu@intel.com> PR gas/10637 diff --git a/gas/testsuite/gas/i386/disp-intel.d b/gas/testsuite/gas/i386/disp-intel.d index 2ab09dc..9428ac8 100644 --- a/gas/testsuite/gas/i386/disp-intel.d +++ b/gas/testsuite/gas/i386/disp-intel.d @@ -16,6 +16,7 @@ Disassembly of section .text: [ ]*[a-f0-9]+: a1 ff ff ff 7f mov eax,ds:0x7fffffff [ ]*[a-f0-9]+: a1 00 00 00 80 mov eax,ds:0x80000000 [ ]*[a-f0-9]+: a1 00 00 00 80 mov eax,ds:0x80000000 +[ ]*[a-f0-9]+: b8 f0 00 e0 0e mov eax,0xee000f0 [ ]*[a-f0-9]+: 89 98 f0 00 e0 0e mov DWORD PTR \[eax\+0xee000f0\],ebx [ ]*[a-f0-9]+: 89 98 f0 00 e0 0e mov DWORD PTR \[eax\+0xee000f0\],ebx [ ]*[a-f0-9]+: 65 89 98 f0 00 e0 0e mov DWORD PTR gs:\[eax\+0xee000f0\],ebx diff --git a/gas/testsuite/gas/i386/disp.d b/gas/testsuite/gas/i386/disp.d index 349ce2c..91d6941 100644 --- a/gas/testsuite/gas/i386/disp.d +++ b/gas/testsuite/gas/i386/disp.d @@ -16,6 +16,7 @@ Disassembly of section .text: [ ]*[a-f0-9]+: a1 ff ff ff 7f mov 0x7fffffff,%eax [ ]*[a-f0-9]+: a1 00 00 00 80 mov 0x80000000,%eax [ ]*[a-f0-9]+: a1 00 00 00 80 mov 0x80000000,%eax +[ ]*[a-f0-9]+: b8 f0 00 e0 0e mov \$0xee000f0,%eax [ ]*[a-f0-9]+: 89 98 f0 00 e0 0e mov %ebx,0xee000f0\(%eax\) [ ]*[a-f0-9]+: 89 98 f0 00 e0 0e mov %ebx,0xee000f0\(%eax\) [ ]*[a-f0-9]+: 65 89 98 f0 00 e0 0e mov %ebx,%gs:0xee000f0\(%eax\) diff --git a/gas/testsuite/gas/i386/disp.s b/gas/testsuite/gas/i386/disp.s index 993ea67..97246fa 100644 --- a/gas/testsuite/gas/i386/disp.s +++ b/gas/testsuite/gas/i386/disp.s @@ -10,6 +10,8 @@ mov -0x80000000,%eax .intel_syntax noprefix + mov eax, offset 0xEE000F0 + mov DWORD PTR [eax+0xEE000F0], ebx mov [eax+0xEE000F0], ebx mov DWORD PTR gs:[eax+0xEE000F0], ebx diff --git a/gas/testsuite/gas/i386/intelbad.l b/gas/testsuite/gas/i386/intelbad.l index bdc2645..6321cc8 100644 --- a/gas/testsuite/gas/i386/intelbad.l +++ b/gas/testsuite/gas/i386/intelbad.l @@ -151,5 +151,4 @@ .*:167: Error: .* .*:168: Error: .* .*:169: Error: .* -.*:170: Error: .* .*:172: Error: .* diff --git a/gas/testsuite/gas/i386/intelbad.s b/gas/testsuite/gas/i386/intelbad.s index 9df2aa2..b3d1f76 100644 --- a/gas/testsuite/gas/i386/intelbad.s +++ b/gas/testsuite/gas/i386/intelbad.s @@ -167,6 +167,6 @@ start: movzx eax, byte ptr [gs:eax] movzx eax, byte gs:ptr [eax] movzx eax, byte ptr 1 - movzx eax, byte ptr [1] +#XXX? movzx eax, byte ptr [1] mov eax, 3:5 diff --git a/gas/testsuite/gas/i386/x86-64-disp-intel.d b/gas/testsuite/gas/i386/x86-64-disp-intel.d index 8f95255..03ab1cb 100644 --- a/gas/testsuite/gas/i386/x86-64-disp-intel.d +++ b/gas/testsuite/gas/i386/x86-64-disp-intel.d @@ -17,6 +17,7 @@ Disassembly of section .text: [ ]*[a-f0-9]+: 8b 04 25 00 00 00 80 mov eax,DWORD PTR ds:0xffffffff80000000 [ ]*[a-f0-9]+: 8b 04 25 ff ff ff 7f mov eax,DWORD PTR ds:0x7fffffff [ ]*[a-f0-9]+: a1 00 00 00 80 00 00 00 00 mov eax,ds:0x80000000 +[ ]*[a-f0-9]+: b8 f0 00 e0 0e mov eax,0xee000f0 [ ]*[a-f0-9]+: 89 98 f0 00 e0 0e mov DWORD PTR \[rax\+0xee000f0\],ebx [ ]*[a-f0-9]+: 89 98 f0 00 e0 0e mov DWORD PTR \[rax\+0xee000f0\],ebx [ ]*[a-f0-9]+: 65 89 98 f0 00 e0 0e mov DWORD PTR gs:\[rax\+0xee000f0\],ebx diff --git a/gas/testsuite/gas/i386/x86-64-disp.d b/gas/testsuite/gas/i386/x86-64-disp.d index b7d63d3..19e720e 100644 --- a/gas/testsuite/gas/i386/x86-64-disp.d +++ b/gas/testsuite/gas/i386/x86-64-disp.d @@ -16,6 +16,7 @@ Disassembly of section .text: [ ]*[a-f0-9]+: 8b 04 25 00 00 00 80 mov 0xffffffff80000000,%eax [ ]*[a-f0-9]+: 8b 04 25 ff ff ff 7f mov 0x7fffffff,%eax [ ]*[a-f0-9]+: a1 00 00 00 80 00 00 00 00 mov 0x80000000,%eax +[ ]*[a-f0-9]+: b8 f0 00 e0 0e mov \$0xee000f0,%eax [ ]*[a-f0-9]+: 89 98 f0 00 e0 0e mov %ebx,0xee000f0\(%rax\) [ ]*[a-f0-9]+: 89 98 f0 00 e0 0e mov %ebx,0xee000f0\(%rax\) [ ]*[a-f0-9]+: 65 89 98 f0 00 e0 0e mov %ebx,%gs:0xee000f0\(%rax\) diff --git a/gas/testsuite/gas/i386/x86-64-disp.s b/gas/testsuite/gas/i386/x86-64-disp.s index b3f1028..2869162 100644 --- a/gas/testsuite/gas/i386/x86-64-disp.s +++ b/gas/testsuite/gas/i386/x86-64-disp.s @@ -10,6 +10,8 @@ mov 0x80000000,%eax .intel_syntax noprefix + mov eax, offset 0xEE000F0 + mov DWORD PTR [rax+0xEE000F0], ebx mov [rax+0xEE000F0], ebx mov DWORD PTR gs:[rax+0xEE000F0], ebx |