diff options
author | Jan Beulich <jbeulich@suse.com> | 2020-02-12 10:59:32 +0100 |
---|---|---|
committer | Jan Beulich <jbeulich@suse.com> | 2020-02-12 10:59:32 +0100 |
commit | 9706160abd7dd2137359e4575b25ef49dfdaad0c (patch) | |
tree | 785cfce41f0a7b5f8c30d91f69d4dc1b07b8f9db /gas/testsuite | |
parent | 5de4d9ef71d5233026d8e9fbd74ec87cca4d220a (diff) | |
download | binutils-9706160abd7dd2137359e4575b25ef49dfdaad0c.zip binutils-9706160abd7dd2137359e4575b25ef49dfdaad0c.tar.gz binutils-9706160abd7dd2137359e4575b25ef49dfdaad0c.tar.bz2 |
x86: also disallow non-byte/-word registers with byte/word suffix
Along the lines of be4c5e58bd ("x86: Always disallow double word suffix
with word general register") also adjust check_{byte,word}_reg(), to make
overall behavior consistent again in this regard.
Diffstat (limited to 'gas/testsuite')
-rw-r--r-- | gas/testsuite/gas/i386/general.l | 26 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/general.s | 12 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/intelbad.l | 2 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/inval.l | 17 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/inval.s | 8 |
5 files changed, 39 insertions, 26 deletions
diff --git a/gas/testsuite/gas/i386/general.l b/gas/testsuite/gas/i386/general.l index 4705277..79da1ac 100644 --- a/gas/testsuite/gas/i386/general.l +++ b/gas/testsuite/gas/i386/general.l @@ -9,12 +9,6 @@ .*:25: Warning:.* .*:27: Warning:.* .*:29: Warning:.* -.*:48: Warning:.* -.*:51: Warning:.* -.*:124: Warning:.* -.*:125: Warning:.* -.*:126: Warning:.* -.*:127: Warning:.* .*:128: Warning:.* .*:129: Warning:.* .*:130: Warning:.* @@ -90,12 +84,10 @@ 45 008d 661F popw %ds 46 008f 668CD8 mov %ds,%ax 47 0092 668CD8 movw %ds,%ax - 48 0095 668CD8 movw %ds,%eax -.*Warning:.* + 48 0095 668CDF movw %ds,%di 49 0098 8ED8 mov %ax,%ds 50 009a 8ED8 movw %ax,%ds - 51 009c 8ED8 movw %eax,%ds -.*Warning:.* + 51 009c 8EDF movw %di,%ds 52 53 # test various pushes 54 009e 6A0A pushl \$10 @@ -167,15 +159,11 @@ 120 012e 0F9303 setaeb \(%ebx\) 121 0131 0F93C0 setae %al 122 - 123 #these should give warnings - 124 0134 0C01 orb \$1,%ax -.*Warning:.* - 125 0136 0C01 orb \$1,%eax -.*Warning:.* - 126 0138 80CB01 orb \$1,%bx -.*Warning:.* - 127 013b 80CB01 orb \$1,%ebx -.*Warning:.* + 123 0134 0C01 orb \$1,%al + 124 0136 0D000100 00 orl \$0x100,%eax + 125 013b 80CB01 orb \$1,%bl + 126 + 127 #these should give warnings 128 013e D9C1 fldl %st\(1\) .*Warning:.* 129 0140 DDD2 fstl %st\(2\) diff --git a/gas/testsuite/gas/i386/general.s b/gas/testsuite/gas/i386/general.s index 77f54ae..472924d 100644 --- a/gas/testsuite/gas/i386/general.s +++ b/gas/testsuite/gas/i386/general.s @@ -45,10 +45,10 @@ popw %ds mov %ds,%ax movw %ds,%ax - movw %ds,%eax + movw %ds,%di mov %ax,%ds movw %ax,%ds - movw %eax,%ds + movw %di,%ds # test various pushes pushl $10 @@ -120,11 +120,11 @@ setaeb (%ebx) setae %al + orb $1,%al + orl $0x100,%eax + orb $1,%bl + #these should give warnings - orb $1,%ax - orb $1,%eax - orb $1,%bx - orb $1,%ebx fldl %st(1) fstl %st(2) fstpl %st(3) diff --git a/gas/testsuite/gas/i386/intelbad.l b/gas/testsuite/gas/i386/intelbad.l index 2080913..b872fb5 100644 --- a/gas/testsuite/gas/i386/intelbad.l +++ b/gas/testsuite/gas/i386/intelbad.l @@ -154,7 +154,7 @@ .*:172: Error: .* .*:174: Error: .* .*:175: Error: .* -.*:176: Warning: .* +.*:176: Error: .* .*:177: Error: .* .*:178: Error: .* .*:180: Error: .* diff --git a/gas/testsuite/gas/i386/inval.l b/gas/testsuite/gas/i386/inval.l index 0159e97..abe2206 100644 --- a/gas/testsuite/gas/i386/inval.l +++ b/gas/testsuite/gas/i386/inval.l @@ -91,6 +91,12 @@ .*:104: Error: .* .*:105: Error: .* .*:106: Error: .* +.*:108: Error: .* +.*:109: Error: .* +.*:110: Error: .* +.*:112: Error: .* +.*:113: Error: .* +.*:114: Error: .* GAS LISTING .* @@ -203,3 +209,14 @@ GAS LISTING .* [ ]*[1-9][0-9]*[ ]+movl %ds, %ax [ ]*[1-9][0-9]*[ ]+movl %ax, %ds [ ]*[1-9][0-9]*[ ]+movl %ax, %bx +[ ]*[1-9][0-9]*[ ]+ +[ ]*[1-9][0-9]*[ ]+movw %ds, %eax +[ ]*[1-9][0-9]*[ ]+movw %eax, %ds +[ ]*[1-9][0-9]*[ ]+movw %eax, %ebx +[ ]*[1-9][0-9]*[ ]+ +[ ]*[1-9][0-9]*[ ]+inb %dx, %ax +[ ]*[1-9][0-9]*[ ]+outb %ax, %dx +[ ]*[1-9][0-9]*[ ]+movb %ax, %bx +GAS LISTING .* + + diff --git a/gas/testsuite/gas/i386/inval.s b/gas/testsuite/gas/i386/inval.s index 3ff58b3..7adfec6 100644 --- a/gas/testsuite/gas/i386/inval.s +++ b/gas/testsuite/gas/i386/inval.s @@ -104,3 +104,11 @@ movnti word ptr [eax], ax movl %ds, %ax movl %ax, %ds movl %ax, %bx + + movw %ds, %eax + movw %eax, %ds + movw %eax, %ebx + + inb %dx, %ax + outb %ax, %dx + movb %ax, %bx |