From 1acf546ea5a0a65be516aefe252bcf7f2daaccb3 Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Tue, 15 Sep 2009 18:41:24 +0000 Subject: [PATCH] gas/ 2009-09-15 H.J. Lu * config/tc-i386-intel.c (i386_intel_operand): Initialize intel_state.has_offset to 0. gas/testsuite/ 2009-09-15 H.J. Lu * 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. --- gas/ChangeLog | 5 +++++ gas/config/tc-i386-intel.c | 1 + gas/testsuite/ChangeLog | 13 +++++++++++++ gas/testsuite/gas/i386/disp-intel.d | 1 + gas/testsuite/gas/i386/disp.d | 1 + gas/testsuite/gas/i386/disp.s | 2 ++ gas/testsuite/gas/i386/intelbad.l | 1 - gas/testsuite/gas/i386/intelbad.s | 2 +- gas/testsuite/gas/i386/x86-64-disp-intel.d | 1 + gas/testsuite/gas/i386/x86-64-disp.d | 1 + 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 9a9026e128..83f867c21c 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,8 @@ +2009-09-15 H.J. Lu + + * config/tc-i386-intel.c (i386_intel_operand): Initialize + intel_state.has_offset to 0. + 2009-09-15 H.J. Lu * config/tc-i386.c (offset_in_range): Sign extend offset only diff --git a/gas/config/tc-i386-intel.c b/gas/config/tc-i386-intel.c index 0c37e4503e..5d5e0c1176 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 ceff29a12f..9d2fff2ce2 100644 --- a/gas/testsuite/ChangeLog +++ b/gas/testsuite/ChangeLog @@ -1,3 +1,16 @@ +2009-09-15 H.J. Lu + + * 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 PR gas/10637 diff --git a/gas/testsuite/gas/i386/disp-intel.d b/gas/testsuite/gas/i386/disp-intel.d index 2ab09dcd3d..9428ac8157 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 349ce2cde3..91d6941bf8 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 993ea67b3b..97246fae8b 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 bdc2645c85..6321cc8f86 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 9df2aa24cb..b3d1f76f81 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 8f952552b0..03ab1cbe54 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 b7d63d3286..19e720e9bf 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 b3f10283ab..28691628a7 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