x86: extend 64-bit invalid MPX insn forms testcase

This commit is contained in:
Jan Beulich 2017-02-23 11:00:44 +01:00 committed by Jan Beulich
parent 5499c7c71c
commit 4c5b8d1e01
3 changed files with 204 additions and 149 deletions

View File

@ -1,3 +1,10 @@
2017-02-21 Jan Beulich <jbeulich@suse.com>
* gas/testsuite/gas/i386/x86-64-mpx-inval-2.d: Add 32- and 16-
bit GPR forms of BNDCL, BNDCU, and BNDCN. Add RSP-as-index
Intel syntax forms of BNDMK, BNDSTX, and BNDLDX.
* gas/testsuite/gas/i386/x86-64-mpx-inval-2.l: Adjust.
2017-02-22 Maciej W. Rozycki <macro@imgtec.com>
* ecoff.c (ecoff_directive_end) [md_flush_pending_output]: Call

View File

@ -9,44 +9,59 @@
.*:16: Error: 32-bit address isn't allowed in 64-bit MPX instructions.
.*:19: Error: 32-bit address isn't allowed in 64-bit MPX instructions.
.*:20: Error: 32-bit address isn't allowed in 64-bit MPX instructions.
.*:23: Error: 32-bit address isn't allowed in 64-bit MPX instructions.
.*:24: Error: 32-bit address isn't allowed in 64-bit MPX instructions.
.*:27: Error: 32-bit address isn't allowed in 64-bit MPX instructions.
.*:28: Error: 32-bit address isn't allowed in 64-bit MPX instructions.
.*:21: Error: .* `bndcl'
.*:22: Error: .* `bndcl'
.*:25: Error: 32-bit address isn't allowed in 64-bit MPX instructions.
.*:26: Error: 32-bit address isn't allowed in 64-bit MPX instructions.
.*:27: Error: .* `bndcu'
.*:28: Error: .* `bndcu'
.*:31: Error: 32-bit address isn't allowed in 64-bit MPX instructions.
.*:32: Error: 32-bit address isn't allowed in 64-bit MPX instructions.
.*:33: Warning: register scaling is being ignored here
.*:34: Error: `base\(%rip\)' cannot be used here
.*:35: Error: 32-bit address isn't allowed in 64-bit MPX instructions.
.*:33: Error: .* `bndcn'
.*:34: Error: .* `bndcn'
.*:37: Error: 32-bit address isn't allowed in 64-bit MPX instructions.
.*:38: Error: 32-bit address isn't allowed in 64-bit MPX instructions.
.*:39: Error: 32-bit address isn't allowed in 64-bit MPX instructions.
.*:40: Warning: register scaling is being ignored here
.*:41: Error: `base\(%rip\)' cannot be used here
.*:42: Error: 32-bit address isn't allowed in 64-bit MPX instructions.
.*:39: Warning: register scaling is being ignored here
.*:40: Error: `base\(%rip\)' cannot be used here
.*:41: Error: 32-bit address isn't allowed in 64-bit MPX instructions.
.*:44: Error: 32-bit address isn't allowed in 64-bit MPX instructions.
.*:45: Error: 32-bit address isn't allowed in 64-bit MPX instructions.
.*:46: Error: 32-bit address isn't allowed in 64-bit MPX instructions.
.*:47: Error: `\[rip\]' cannot be used here
.*:46: Warning: register scaling is being ignored here
.*:47: Error: `base\(%rip\)' cannot be used here
.*:48: Error: 32-bit address isn't allowed in 64-bit MPX instructions.
.*:51: Error: 32-bit address isn't allowed in 64-bit MPX instructions.
.*:52: Error: 32-bit address isn't allowed in 64-bit MPX instructions.
.*:53: Error: `\[rip\]' cannot be used here
.*:54: Error: 32-bit address isn't allowed in 64-bit MPX instructions.
.*:55: Error: 32-bit address isn't allowed in 64-bit MPX instructions.
.*:55: Error: `\[rax\+rsp\]' is not a valid base/index expression
.*:58: Error: 32-bit address isn't allowed in 64-bit MPX instructions.
.*:59: Error: 32-bit address isn't allowed in 64-bit MPX instructions.
.*:61: Error: 32-bit address isn't allowed in 64-bit MPX instructions.
.*:62: Error: 32-bit address isn't allowed in 64-bit MPX instructions.
.*:63: Error: 32-bit address isn't allowed in 64-bit MPX instructions.
.*:65: Error: 32-bit address isn't allowed in 64-bit MPX instructions.
.*:66: Error: 32-bit address isn't allowed in 64-bit MPX instructions.
.*:67: Error: 32-bit address isn't allowed in 64-bit MPX instructions.
.*:70: Error: 32-bit address isn't allowed in 64-bit MPX instructions.
.*:67: Error: .* `bndcl'
.*:68: Error: .* `bndcl'
.*:71: Error: 32-bit address isn't allowed in 64-bit MPX instructions.
.*:72: Warning: register scaling is being ignored here
.*:73: Error: `\[rip\+base\]' cannot be used here
.*:74: Error: 32-bit address isn't allowed in 64-bit MPX instructions.
.*:72: Error: 32-bit address isn't allowed in 64-bit MPX instructions.
.*:73: Error: .* `bndcu'
.*:74: Error: .* `bndcu'
.*:77: Error: 32-bit address isn't allowed in 64-bit MPX instructions.
.*:78: Error: 32-bit address isn't allowed in 64-bit MPX instructions.
.*:79: Warning: register scaling is being ignored here
.*:80: Error: `\[rip\+base\]' cannot be used here
.*:81: Error: 32-bit address isn't allowed in 64-bit MPX instructions.
.*:79: Error: .* `bndcn'
.*:80: Error: .* `bndcn'
.*:83: Error: 32-bit address isn't allowed in 64-bit MPX instructions.
.*:84: Error: 32-bit address isn't allowed in 64-bit MPX instructions.
.*:85: Warning: register scaling is being ignored here
.*:86: Error: `\[rip\+base\]' cannot be used here
.*:87: Error: 32-bit address isn't allowed in 64-bit MPX instructions.
.*:88: Error: `\[rax\+rsp\]' is not a valid base/index expression
.*:91: Error: 32-bit address isn't allowed in 64-bit MPX instructions.
.*:92: Error: 32-bit address isn't allowed in 64-bit MPX instructions.
.*:93: Warning: register scaling is being ignored here
.*:94: Error: `\[rip\+base\]' cannot be used here
.*:95: Error: 32-bit address isn't allowed in 64-bit MPX instructions.
.*:96: Error: `\[rax\+rsp\]' is not a valid base/index expression
GAS LISTING .*
@ -54,175 +69,193 @@ GAS LISTING .*
[ ]*2[ ]+\.allow_index_reg
[ ]*3[ ]+\.text
[ ]*4[ ]+
[ ]*5[ ]+\#\#\# bndmk
[ ]*6[ ]+\?\?\?\? 67F30F1B bndmk \(%eax\), %bnd1
[ ]*[1-9][0-9]*[ ]+\#\#\# bndmk
[ ]*[1-9][0-9]*[ ]+\?\?\?\? 67F30F1B bndmk \(%eax\), %bnd1
.* Error: 32-bit address isn't allowed in 64-bit MPX instructions\.
[ ]*6[ ]+08
[ ]*7[ ]+\?\?\?\? 67F30F1B bndmk 0x3\(%ecx,%ebx,1\), %bnd1
[ ]*[1-9][0-9]*[ ]+08
[ ]*[1-9][0-9]*[ ]+\?\?\?\? 67F30F1B bndmk 0x3\(%ecx,%ebx,1\), %bnd1
.* Error: 32-bit address isn't allowed in 64-bit MPX instructions\.
[ ]*7[ ]+4C1903
[ ]*8[ ]+bndmk \(%rip\), %bnd3
[ ]*9[ ]+\?\?\?\? 67F30F1B bndmk \(%eip\), %bnd2
[ ]*[1-9][0-9]*[ ]+4C1903
[ ]*[1-9][0-9]*[ ]+bndmk \(%rip\), %bnd3
[ ]*[1-9][0-9]*[ ]+\?\?\?\? 67F30F1B bndmk \(%eip\), %bnd2
.* Error: 32-bit address isn't allowed in 64-bit MPX instructions\.
[ ]*9[ ]+15000000
[ ]*9[ ]+00
[ ]*10[ ]+
[ ]*11[ ]+\#\#\# bndmov
[ ]*12[ ]+\?\?\?\? 6766410F bndmov \(%r8d\), %bnd1
[ ]*[1-9][0-9]*[ ]+15000000
[ ]*[1-9][0-9]*[ ]+00
[ ]*[1-9][0-9]*[ ]+
[ ]*[1-9][0-9]*[ ]+\#\#\# bndmov
[ ]*[1-9][0-9]*[ ]+\?\?\?\? 6766410F bndmov \(%r8d\), %bnd1
.* Error: 32-bit address isn't allowed in 64-bit MPX instructions\.
[ ]*12[ ]+1A08
[ ]*13[ ]+\?\?\?\? 6766410F bndmov 0x3\(%r9d,%edx,1\), %bnd1
[ ]*[1-9][0-9]*[ ]+1A08
[ ]*[1-9][0-9]*[ ]+\?\?\?\? 6766410F bndmov 0x3\(%r9d,%edx,1\), %bnd1
.* Error: 32-bit address isn't allowed in 64-bit MPX instructions\.
[ ]*13[ ]+1A4C1103
[ ]*14[ ]+
[ ]*15[ ]+\?\?\?\? 67660F1B bndmov %bnd1, \(%eax\)
[ ]*[1-9][0-9]*[ ]+1A4C1103
[ ]*[1-9][0-9]*[ ]+
[ ]*[1-9][0-9]*[ ]+\?\?\?\? 67660F1B bndmov %bnd1, \(%eax\)
.* Error: 32-bit address isn't allowed in 64-bit MPX instructions\.
[ ]*15[ ]+08
[ ]*16[ ]+\?\?\?\? 67660F1B bndmov %bnd1, 0x3\(%ecx,%eax,1\)
[ ]*[1-9][0-9]*[ ]+08
[ ]*[1-9][0-9]*[ ]+\?\?\?\? 67660F1B bndmov %bnd1, 0x3\(%ecx,%eax,1\)
.* Error: 32-bit address isn't allowed in 64-bit MPX instructions\.
[ ]*16[ ]+4C0103
[ ]*17[ ]+
[ ]*18[ ]+\#\#\# bndcl
[ ]*19[ ]+\?\?\?\? 67F30F1A bndcl \(%ecx\), %bnd1
[ ]*[1-9][0-9]*[ ]+4C0103
[ ]*[1-9][0-9]*[ ]+
[ ]*[1-9][0-9]*[ ]+\#\#\# bndcl
[ ]*[1-9][0-9]*[ ]+\?\?\?\? 67F30F1A bndcl \(%ecx\), %bnd1
.* Error: 32-bit address isn't allowed in 64-bit MPX instructions\.
[ ]*19[ ]+09
[ ]*20[ ]+\?\?\?\? 67F30F1A bndcl 0x3\(%ecx,%eax,1\), %bnd1
[ ]*[1-9][0-9]*[ ]+09
[ ]*[1-9][0-9]*[ ]+\?\?\?\? 67F30F1A bndcl 0x3\(%ecx,%eax,1\), %bnd1
.* Error: 32-bit address isn't allowed in 64-bit MPX instructions\.
[ ]*20[ ]+4C0103
[ ]*21[ ]+
[ ]*22[ ]+\#\#\# bndcu
[ ]*23[ ]+\?\?\?\? 67F20F1A bndcu \(%ecx\), %bnd1
[ ]*[1-9][0-9]*[ ]+4C0103
[ ]*[1-9][0-9]*[ ]+bndcl %ecx, %bnd1
[ ]*[1-9][0-9]*[ ]+bndcl %cx, %bnd1
[ ]*[1-9][0-9]*[ ]+
[ ]*[1-9][0-9]*[ ]+\#\#\# bndcu
[ ]*[1-9][0-9]*[ ]+\?\?\?\? 67F20F1A bndcu \(%ecx\), %bnd1
.* Error: 32-bit address isn't allowed in 64-bit MPX instructions\.
[ ]*23[ ]+09
[ ]*24[ ]+\?\?\?\? 67F20F1A bndcu 0x3\(%ecx,%eax,1\), %bnd1
[ ]*[1-9][0-9]*[ ]+09
[ ]*[1-9][0-9]*[ ]+\?\?\?\? 67F20F1A bndcu 0x3\(%ecx,%eax,1\), %bnd1
.* Error: 32-bit address isn't allowed in 64-bit MPX instructions\.
[ ]*24[ ]+4C0103
[ ]*25[ ]+
[ ]*26[ ]+\#\#\# bndcn
[ ]*27[ ]+\?\?\?\? 67F20F1B bndcn \(%ecx\), %bnd1
[ ]*[1-9][0-9]*[ ]+4C0103
[ ]*[1-9][0-9]*[ ]+bndcu %ecx, %bnd1
[ ]*[1-9][0-9]*[ ]+bndcu %cx, %bnd1
[ ]*[1-9][0-9]*[ ]+
[ ]*[1-9][0-9]*[ ]+\#\#\# bndcn
[ ]*[1-9][0-9]*[ ]+\?\?\?\? 67F20F1B bndcn \(%ecx\), %bnd1
.* Error: 32-bit address isn't allowed in 64-bit MPX instructions\.
[ ]*27[ ]+09
[ ]*28[ ]+\?\?\?\? 67F20F1B bndcn 0x3\(%ecx,%eax,1\), %bnd1
.* Error: 32-bit address isn't allowed in 64-bit MPX instructions\.
[ ]*28[ ]+4C0103
[ ]*29[ ]+
[ ]*30[ ]+\#\#\# bndstx
[ ]*[1-9][0-9]*[ ]+09
[ ]*[1-9][0-9]*[ ]+\?\?\?\? 67F20F1B bndcn 0x3\(%ecx,%eax,1\), %bnd1
GAS LISTING .*
[ ]*31[ ]+\?\?\?\? 670F1B44 bndstx %bnd0, 0x3\(%eax,%ebx,1\)
.* Error: 32-bit address isn't allowed in 64-bit MPX instructions\.
[ ]*31[ ]+1803
[ ]*32[ ]+\?\?\?\? 670F1B53 bndstx %bnd2, 3\(%ebx,1\)
[ ]*[1-9][0-9]*[ ]+4C0103
[ ]*[1-9][0-9]*[ ]+bndcn %ecx, %bnd1
[ ]*[1-9][0-9]*[ ]+bndcn %cx, %bnd1
[ ]*[1-9][0-9]*[ ]+
[ ]*[1-9][0-9]*[ ]+\#\#\# bndstx
[ ]*[1-9][0-9]*[ ]+\?\?\?\? 670F1B44 bndstx %bnd0, 0x3\(%eax,%ebx,1\)
.* Error: 32-bit address isn't allowed in 64-bit MPX instructions\.
[ ]*32[ ]+03
[ ]*33[ ]+\?\?\?\? 410F1B0C bndstx %bnd1, \(%r15,%rax,2\)
[ ]*[1-9][0-9]*[ ]+1803
[ ]*[1-9][0-9]*[ ]+\?\?\?\? 670F1B53 bndstx %bnd2, 3\(%ebx,1\)
.* Error: 32-bit address isn't allowed in 64-bit MPX instructions\.
[ ]*[1-9][0-9]*[ ]+03
[ ]*[1-9][0-9]*[ ]+\?\?\?\? 410F1B0C bndstx %bnd1, \(%r15,%rax,2\)
.* Warning: register scaling is being ignored here
[ ]*33[ ]+47
[ ]*34[ ]+bndstx %bnd3, base\(%rip\)
[ ]*35[ ]+\?\?\?\? 670F1B0D bndstx %bnd1, base\(%eip\)
[ ]*[1-9][0-9]*[ ]+47
[ ]*[1-9][0-9]*[ ]+bndstx %bnd3, base\(%rip\)
[ ]*[1-9][0-9]*[ ]+\?\?\?\? 670F1B0D bndstx %bnd1, base\(%eip\)
.* Error: 32-bit address isn't allowed in 64-bit MPX instructions\.
[ ]*35[ ]+[0-9a-f][0-9a-f][0-9a-f]00000
[ ]*36[ ]+
[ ]*37[ ]+\#\#\# bndldx
[ ]*38[ ]+\?\?\?\? 670F1A44 bndldx 0x3\(%eax,%ebx,1\), %bnd0
[ ]*[1-9][0-9]*[ ]+[0-9a-f][0-9a-f][0-9a-f]00000
[ ]*[1-9][0-9]*[ ]+
[ ]*[1-9][0-9]*[ ]+\#\#\# bndldx
[ ]*[1-9][0-9]*[ ]+\?\?\?\? 670F1A44 bndldx 0x3\(%eax,%ebx,1\), %bnd0
.* Error: 32-bit address isn't allowed in 64-bit MPX instructions\.
[ ]*38[ ]+1803
[ ]*39[ ]+\?\?\?\? 670F1A53 bndldx 3\(%ebx,1\), %bnd2
[ ]*[1-9][0-9]*[ ]+1803
[ ]*[1-9][0-9]*[ ]+\?\?\?\? 670F1A53 bndldx 3\(%ebx,1\), %bnd2
.* Error: 32-bit address isn't allowed in 64-bit MPX instructions\.
[ ]*39[ ]+03
[ ]*40[ ]*\?\?\?\? 420F1A1C bndldx \(%rax,%r15,4\), %bnd3
[ ]*[1-9][0-9]*[ ]+03
[ ]*[1-9][0-9]*[ ]*\?\?\?\? 420F1A1C bndldx \(%rax,%r15,4\), %bnd3
.* Warning: register scaling is being ignored here
[ ]*40[ ]*B8
[ ]*41[ ]*bndldx base\(%rip\), %bnd1
[ ]*42[ ]*\?\?\?\? 670F1A1D bndldx base\(%eip\), %bnd3
[ ]*[1-9][0-9]*[ ]*B8
[ ]*[1-9][0-9]*[ ]*bndldx base\(%rip\), %bnd1
[ ]*[1-9][0-9]*[ ]*\?\?\?\? 670F1A1D bndldx base\(%eip\), %bnd3
.* Error: 32-bit address isn't allowed in 64-bit MPX instructions\.
[ ]*42[ ]*[0-9a-f][0-9a-f][0-9a-f]00000
[ ]*43[ ]+
[ ]*44[ ]+\.intel_syntax noprefix
[ ]*45[ ]+\?\?\?\? 67F30F1B bndmk bnd1, \[eax\]
[ ]*[1-9][0-9]*[ ]+[0-9a-f][0-9a-f][0-9a-f]00000
[ ]*[1-9][0-9]*[ ]+
[ ]*[1-9][0-9]*[ ]+\.intel_syntax noprefix
[ ]*[1-9][0-9]*[ ]+\?\?\?\? 67F30F1B bndmk bnd1, \[eax\]
.* Error: 32-bit address isn't allowed in 64-bit MPX instructions\.
[ ]*45[ ]+08
[ ]*46[ ]+\?\?\?\? 67F30F1B bndmk bnd1, \[edx\+1\*eax\+0x3\]
[ ]*[1-9][0-9]*[ ]+08
[ ]*[1-9][0-9]*[ ]+\?\?\?\? 67F30F1B bndmk bnd1, \[edx\+1\*eax\+0x3\]
.* Error: 32-bit address isn't allowed in 64-bit MPX instructions\.
[ ]*46[ ]+4C0203
[ ]*47[ ]*bndmk bnd3, \[rip\]
[ ]*48[ ]*\?\?\?\? 67F30F1B bndmk bnd2, \[eip\]
[ ]*[1-9][0-9]*[ ]+4C0203
[ ]*[1-9][0-9]*[ ]*bndmk bnd3, \[rip\]
[ ]*[1-9][0-9]*[ ]*\?\?\?\? 67F30F1B bndmk bnd2, \[eip\]
.* Error: 32-bit address isn't allowed in 64-bit MPX instructions.
[ ]*48[ ]*15000000
[ ]*48[ ]*00
[ ]*49[ ]+
[ ]*50[ ]+\#\#\# bndmov
[ ]*51[ ]+\?\?\?\? 67660F1A bndmov bnd1, \[eax\]
[ ]*[1-9][0-9]*[ ]*15000000
[ ]*[1-9][0-9]*[ ]*00
[ ]*[1-9][0-9]*[ ]+bndmk bnd2, \[rax\+rsp\]
[ ]*[1-9][0-9]*[ ]+
[ ]*[1-9][0-9]*[ ]+\#\#\# bndmov
[ ]*[1-9][0-9]*[ ]+\?\?\?\? 67660F1A bndmov bnd1, \[eax\]
.* Error: 32-bit address isn't allowed in 64-bit MPX instructions\.
[ ]*51[ ]+08
[ ]*52[ ]+\?\?\?\? 67660F1A bndmov bnd1, \[edx\+1\*eax\+0x3\]
[ ]*[1-9][0-9]*[ ]+08
[ ]*[1-9][0-9]*[ ]+\?\?\?\? 67660F1A bndmov bnd1, \[edx\+1\*eax\+0x3\]
.* Error: 32-bit address isn't allowed in 64-bit MPX instructions\.
[ ]*52[ ]+4C0203
[ ]*53[ ]+
[ ]*54[ ]+\?\?\?\? 67660F1B bndmov \[eax\], bnd1
.* Error: 32-bit address isn't allowed in 64-bit MPX instructions\.
[ ]*54[ ]+08
[ ]*55[ ]+\?\?\?\? 67660F1B bndmov \[edx\+1\*eax\+0x3\], bnd1
.* Error: 32-bit address isn't allowed in 64-bit MPX instructions\.
[ ]*55[ ]+4C0203
[ ]*56[ ]+
[ ]*[1-9][0-9]*[ ]+4C0203
[ ]*[1-9][0-9]*[ ]+
GAS LISTING .*
[ ]*57[ ]+\#\#\# bndcl
[ ]*58[ ]+\?\?\?\? 67F30F1A bndcl bnd1, \[eax\]
[ ]*[1-9][0-9]*[ ]+\?\?\?\? 67660F1B bndmov \[eax\], bnd1
.* Error: 32-bit address isn't allowed in 64-bit MPX instructions\.
[ ]*58[ ]+08
[ ]*59[ ]+\?\?\?\? 67F30F1A bndcl bnd1, \[edx\+1\*eax\+0x3\]
[ ]*[1-9][0-9]*[ ]+08
[ ]*[1-9][0-9]*[ ]+\?\?\?\? 67660F1B bndmov \[edx\+1\*eax\+0x3\], bnd1
.* Error: 32-bit address isn't allowed in 64-bit MPX instructions\.
[ ]*59[ ]+4C0203
[ ]*60[ ]+
[ ]*61[ ]+\#\#\# bndcu
[ ]*62[ ]+\?\?\?\? 67F20F1A bndcu bnd1, \[eax\]
[ ]*[1-9][0-9]*[ ]+4C0203
[ ]*[1-9][0-9]*[ ]+
[ ]*[1-9][0-9]*[ ]+\#\#\# bndcl
[ ]*[1-9][0-9]*[ ]+\?\?\?\? 67F30F1A bndcl bnd1, \[eax\]
.* Error: 32-bit address isn't allowed in 64-bit MPX instructions\.
[ ]*62[ ]+08
[ ]*63[ ]+\?\?\?\? 67F20F1A bndcu bnd1, \[edx\+1\*eax\+0x3\]
[ ]*[1-9][0-9]*[ ]+08
[ ]*[1-9][0-9]*[ ]+\?\?\?\? 67F30F1A bndcl bnd1, \[edx\+1\*eax\+0x3\]
.* Error: 32-bit address isn't allowed in 64-bit MPX instructions\.
[ ]*63[ ]+4C0203
[ ]*64[ ]+
[ ]*65[ ]+\#\#\# bndcn
[ ]*66[ ]+\?\?\?\? 67F20F1B bndcn bnd1, \[eax\]
[ ]*[1-9][0-9]*[ ]+4C0203
[ ]*[1-9][0-9]*[ ]+bndcl bnd1, eax
[ ]*[1-9][0-9]*[ ]+bndcl bnd1, dx
[ ]*[1-9][0-9]*[ ]+
[ ]*[1-9][0-9]*[ ]+\#\#\# bndcu
[ ]*[1-9][0-9]*[ ]+\?\?\?\? 67F20F1A bndcu bnd1, \[eax\]
.* Error: 32-bit address isn't allowed in 64-bit MPX instructions\.
[ ]*66[ ]+08
[ ]*67[ ]+\?\?\?\? 67F20F1B bndcn bnd1, \[edx\+1\*eax\+0x3\]
[ ]*[1-9][0-9]*[ ]+08
[ ]*[1-9][0-9]*[ ]+\?\?\?\? 67F20F1A bndcu bnd1, \[edx\+1\*eax\+0x3\]
.* Error: 32-bit address isn't allowed in 64-bit MPX instructions\.
[ ]*67[ ]+4C0203
[ ]*68[ ]+
[ ]*69[ ]+\#\#\# bndstx
[ ]*70[ ]+\?\?\?\? 670F1B44 bndstx \[eax\+ebx\*1\+0x3\], bnd0
[ ]*[1-9][0-9]*[ ]+4C0203
[ ]*[1-9][0-9]*[ ]+bndcu bnd1, eax
[ ]*[1-9][0-9]*[ ]+bndcu bnd1, dx
[ ]*[1-9][0-9]*[ ]+
[ ]*[1-9][0-9]*[ ]+\#\#\# bndcn
[ ]*[1-9][0-9]*[ ]+\?\?\?\? 67F20F1B bndcn bnd1, \[eax\]
.* Error: 32-bit address isn't allowed in 64-bit MPX instructions\.
[ ]*70[ ]+1803
[ ]*71[ ]+\?\?\?\? 670F1B14 bndstx \[1\*ebx\+3\], bnd2
[ ]*[1-9][0-9]*[ ]+08
[ ]*[1-9][0-9]*[ ]+\?\?\?\? 67F20F1B bndcn bnd1, \[edx\+1\*eax\+0x3\]
.* Error: 32-bit address isn't allowed in 64-bit MPX instructions\.
[ ]*71[ ]+1D030000
[ ]*71[ ]+00
[ ]*72[ ]+\?\?\?\? 410F1B14 bndstx \[r8\+rdi\*4\], bnd2
[ ]*[1-9][0-9]*[ ]+4C0203
[ ]*[1-9][0-9]*[ ]+bndcn bnd1, eax
[ ]*[1-9][0-9]*[ ]+bndcn bnd1, dx
[ ]*[1-9][0-9]*[ ]+
[ ]*[1-9][0-9]*[ ]+\#\#\# bndstx
[ ]*[1-9][0-9]*[ ]+\?\?\?\? 670F1B44 bndstx \[eax\+ebx\*1\+0x3\], bnd0
.* Error: 32-bit address isn't allowed in 64-bit MPX instructions\.
[ ]*[1-9][0-9]*[ ]+1803
[ ]*[1-9][0-9]*[ ]+\?\?\?\? 670F1B14 bndstx \[1\*ebx\+3\], bnd2
.* Error: 32-bit address isn't allowed in 64-bit MPX instructions\.
[ ]*[1-9][0-9]*[ ]+1D030000
[ ]*[1-9][0-9]*[ ]+00
[ ]*[1-9][0-9]*[ ]+\?\?\?\? 410F1B14 bndstx \[r8\+rdi\*4\], bnd2
.* Warning: register scaling is being ignored here
[ ]*72[ ]+B8
[ ]*73[ ]+bndstx \[rip\+base\], bnd1
[ ]*74[ ]+\?\?\?\? 670F1B1D bndstx \[eip\+base\], bnd3
[ ]*[1-9][0-9]*[ ]+B8
[ ]*[1-9][0-9]*[ ]+bndstx \[rip\+base\], bnd1
[ ]*[1-9][0-9]*[ ]+\?\?\?\? 670F1B1D bndstx \[eip\+base\], bnd3
.* Error: 32-bit address isn't allowed in 64-bit MPX instructions\.
[ ]*74[ ]+[0-9a-f][0-9a-f][0-9a-f]00000
[ ]*75[ ]+
[ ]*76[ ]+\#\#\# bndldx
[ ]*77[ ]+\?\?\?\? 670F1A44 bndldx bnd0, \[eax\+ebx\*1\+0x3\]
[ ]*[1-9][0-9]*[ ]+[0-9a-f][0-9a-f][0-9a-f]00000
[ ]*[1-9][0-9]*[ ]+bndstx \[rax\+rsp\], bnd3
[ ]*[1-9][0-9]*[ ]+
[ ]*[1-9][0-9]*[ ]+\#\#\# bndldx
[ ]*[1-9][0-9]*[ ]+\?\?\?\? 670F1A44 bndldx bnd0, \[eax\+ebx\*1\+0x3\]
.* Error: 32-bit address isn't allowed in 64-bit MPX instructions\.
[ ]*77[ ]+1803
[ ]*78[ ]+\?\?\?\? 670F1A14 bndldx bnd2, \[1\*ebx\+3\]
GAS LISTING .*
[ ]*[1-9][0-9]*[ ]+1803
[ ]*[1-9][0-9]*[ ]+\?\?\?\? 670F1A14 bndldx bnd2, \[1\*ebx\+3\]
.* Error: 32-bit address isn't allowed in 64-bit MPX instructions\.
[ ]*78[ ]+1D030000
[ ]*78[ ]+00
[ ]*79[ ]+\?\?\?\? 420F1A14 bndldx bnd2, \[rdi\+r8\*8\]
[ ]*[1-9][0-9]*[ ]+1D030000
[ ]*[1-9][0-9]*[ ]+00
[ ]*[1-9][0-9]*[ ]+\?\?\?\? 420F1A14 bndldx bnd2, \[rdi\+r8\*8\]
.* Warning: register scaling is being ignored here
[ ]*79[ ]+C7
[ ]*80[ ]+bndldx bnd1, \[rip\+base\]
[ ]*81[ ]+\?\?\?\? 670F1A1D bndldx bnd3, \[eip\+base\]
[ ]*[1-9][0-9]*[ ]+C7
[ ]*[1-9][0-9]*[ ]+bndldx bnd1, \[rip\+base\]
[ ]*[1-9][0-9]*[ ]+\?\?\?\? 670F1A1D bndldx bnd3, \[eip\+base\]
.* Error: 32-bit address isn't allowed in 64-bit MPX instructions\.
[ ]*81 [0-9a-f][0-9a-f][0-9a-f]00000
[ ]*[1-9][0-9]*[ ]+[0-9a-f][0-9a-f][0-9a-f]00000
[ ]*[1-9][0-9]*[ ]+bndldx bnd3, \[rax\+rsp\]
#pass

View File

@ -18,14 +18,20 @@
### bndcl
bndcl (%ecx), %bnd1
bndcl 0x3(%ecx,%eax,1), %bnd1
bndcl %ecx, %bnd1
bndcl %cx, %bnd1
### bndcu
bndcu (%ecx), %bnd1
bndcu 0x3(%ecx,%eax,1), %bnd1
bndcu %ecx, %bnd1
bndcu %cx, %bnd1
### bndcn
bndcn (%ecx), %bnd1
bndcn 0x3(%ecx,%eax,1), %bnd1
bndcn %ecx, %bnd1
bndcn %cx, %bnd1
### bndstx
bndstx %bnd0, 0x3(%eax,%ebx,1)
@ -46,6 +52,7 @@
bndmk bnd1, [edx+1*eax+0x3]
bndmk bnd3, [rip]
bndmk bnd2, [eip]
bndmk bnd2, [rax+rsp]
### bndmov
bndmov bnd1, [eax]
@ -57,14 +64,20 @@
### bndcl
bndcl bnd1, [eax]
bndcl bnd1, [edx+1*eax+0x3]
bndcl bnd1, eax
bndcl bnd1, dx
### bndcu
bndcu bnd1, [eax]
bndcu bnd1, [edx+1*eax+0x3]
bndcu bnd1, eax
bndcu bnd1, dx
### bndcn
bndcn bnd1, [eax]
bndcn bnd1, [edx+1*eax+0x3]
bndcn bnd1, eax
bndcn bnd1, dx
### bndstx
bndstx [eax+ebx*1+0x3], bnd0
@ -72,6 +85,7 @@
bndstx [r8+rdi*4], bnd2
bndstx [rip+base], bnd1
bndstx [eip+base], bnd3
bndstx [rax+rsp], bnd3
### bndldx
bndldx bnd0, [eax+ebx*1+0x3]
@ -79,3 +93,4 @@
bndldx bnd2, [rdi+r8*8]
bndldx bnd1, [rip+base]
bndldx bnd3, [eip+base]
bndldx bnd3, [rax+rsp]