public inbox for binutils@sourceware.org
 help / color / mirror / Atom feed
* [PATCH] x86: extend 64-bit invalid MPX insn forms testcase
@ 2017-02-21 11:08 Jan Beulich
  2017-02-22 16:08 ` H.J. Lu
  0 siblings, 1 reply; 2+ messages in thread
From: Jan Beulich @ 2017-02-21 11:08 UTC (permalink / raw)
  To: binutils; +Cc: H.J. Lu

gas/
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-21/gas/testsuite/gas/i386/x86-64-mpx-inval-2.l
+++ 2017-02-21/gas/testsuite/gas/i386/x86-64-mpx-inval-2.l
@@ -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
-.*  Error: 32-bit address isn't allowed in 64-bit MPX instructions\.
-[ 	]*9[ 	]+15000000 
-[ 	]*9[ 	]+00
-[ 	]*10[ 	]+
-[ 	]*11[ 	]+\#\#\# bndmov
-[ 	]*12[ 	]+\?\?\?\? 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
-.*  Error: 32-bit address isn't allowed in 64-bit MPX instructions\.
-[ 	]*13[ 	]+1A4C1103 
-[ 	]*14[ 	]+
-[ 	]*15[ 	]+\?\?\?\? 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\)
-.*  Error: 32-bit address isn't allowed in 64-bit MPX instructions\.
-[ 	]*16[ 	]+4C0103
-[ 	]*17[ 	]+
-[ 	]*18[ 	]+\#\#\# bndcl
-[ 	]*19[ 	]+\?\?\?\? 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
-.*  Error: 32-bit address isn't allowed in 64-bit MPX instructions\.
-[ 	]*20[ 	]+4C0103
-[ 	]*21[ 	]+
-[ 	]*22[ 	]+\#\#\# bndcu
-[ 	]*23[ 	]+\?\?\?\? 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
-.*  Error: 32-bit address isn't allowed in 64-bit MPX instructions\.
-[ 	]*24[ 	]+4C0103
-[ 	]*25[ 	]+
-[ 	]*26[ 	]+\#\#\# bndcn
-[ 	]*27[ 	]+\?\?\?\? 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]*[ 	]+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\.
+[ 	]*[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\.
+[ 	]*[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\.
+[ 	]*[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\.
+[ 	]*[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\.
+[ 	]*[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\.
+[ 	]*[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\.
+[ 	]*[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\.
+[ 	]*[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\.
+[ 	]*[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\.
+[ 	]*[1-9][0-9]*[ 	]+09
+[ 	]*[1-9][0-9]*[ 	]+\?\?\?\? 67F20F1B 		bndcn 0x3\(%ecx,%eax,1\), %bnd1
 \fGAS 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\.
+[ 	]*[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\.
-[ 	]*32[ 	]+03
-[ 	]*33[ 	]+\?\?\?\? 410F1B0C 		bndstx %bnd1, \(%r15,%rax,2\)
+[ 	]*[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\)
-.*  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]*[ 	]+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\.
+[ 	]*[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
-.*  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\]
-.*  Error: 32-bit address isn't allowed in 64-bit MPX instructions\.
-[ 	]*45[ 	]+08
-[ 	]*46[ 	]+\?\?\?\? 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]*[ 	]*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\.
+[ 	]*[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\.
+[ 	]*[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\.
+[ 	]*[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\]
-.*  Error: 32-bit address isn't allowed in 64-bit MPX instructions\.
-[ 	]*51[ 	]+08
-[ 	]*52[ 	]+\?\?\?\? 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
+[ 	]*[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\.
-[ 	]*54[ 	]+08
-[ 	]*55[ 	]+\?\?\?\? 67660F1B 		bndmov \[edx\+1\*eax\+0x3\], bnd1
+[ 	]*[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\.
-[ 	]*55[ 	]+4C0203
-[ 	]*56[ 	]+
+[ 	]*[1-9][0-9]*[ 	]+4C0203
+[ 	]*[1-9][0-9]*[ 	]+
 \fGAS 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\]
-.*  Error: 32-bit address isn't allowed in 64-bit MPX instructions\.
-[ 	]*62[ 	]+08
-[ 	]*63[ 	]+\?\?\?\? 67F20F1A 		bndcu 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\]
-.*  Error: 32-bit address isn't allowed in 64-bit MPX instructions\.
-[ 	]*66[ 	]+08
-[ 	]*67[ 	]+\?\?\?\? 67F20F1B 		bndcn 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
-.*  Error: 32-bit address isn't allowed in 64-bit MPX instructions\.
-[ 	]*70[ 	]+1803
-[ 	]*71[ 	]+\?\?\?\? 670F1B14 		bndstx \[1\*ebx\+3\], bnd2
-.*  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]*[ 	]+
+[ 	]*[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\.
+[ 	]*[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\.
+[ 	]*[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\.
+[ 	]*[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\.
+[ 	]*[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\.
+[ 	]*[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\.
+[ 	]*[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
-.*  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\]
-.*  Error: 32-bit address isn't allowed in 64-bit MPX instructions\.
-[ 	]*77[ 	]+1803
-[ 	]*78[ 	]+\?\?\?\? 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]*[ 	]+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\.
+[ 	]*[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\.
+\fGAS 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\.
+[ 	]*[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
--- 2017-02-21/gas/testsuite/gas/i386/x86-64-mpx-inval-2.s
+++ 2017-02-21/gas/testsuite/gas/i386/x86-64-mpx-inval-2.s
@@ -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]


^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [PATCH] x86: extend 64-bit invalid MPX insn forms testcase
  2017-02-21 11:08 [PATCH] x86: extend 64-bit invalid MPX insn forms testcase Jan Beulich
@ 2017-02-22 16:08 ` H.J. Lu
  0 siblings, 0 replies; 2+ messages in thread
From: H.J. Lu @ 2017-02-22 16:08 UTC (permalink / raw)
  To: Jan Beulich; +Cc: Binutils

On Tue, Feb 21, 2017 at 3:08 AM, Jan Beulich <JBeulich@suse.com> wrote:
> gas/
> 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-21/gas/testsuite/gas/i386/x86-64-mpx-inval-2.l
> +++ 2017-02-21/gas/testsuite/gas/i386/x86-64-mpx-inval-2.l
> @@ -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
> -.*  Error: 32-bit address isn't allowed in 64-bit MPX instructions\.
> -[      ]*9[    ]+15000000
> -[      ]*9[    ]+00
> -[      ]*10[   ]+
> -[      ]*11[   ]+\#\#\# bndmov
> -[      ]*12[   ]+\?\?\?\? 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
> -.*  Error: 32-bit address isn't allowed in 64-bit MPX instructions\.
> -[      ]*13[   ]+1A4C1103
> -[      ]*14[   ]+
> -[      ]*15[   ]+\?\?\?\? 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\)
> -.*  Error: 32-bit address isn't allowed in 64-bit MPX instructions\.
> -[      ]*16[   ]+4C0103
> -[      ]*17[   ]+
> -[      ]*18[   ]+\#\#\# bndcl
> -[      ]*19[   ]+\?\?\?\? 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
> -.*  Error: 32-bit address isn't allowed in 64-bit MPX instructions\.
> -[      ]*20[   ]+4C0103
> -[      ]*21[   ]+
> -[      ]*22[   ]+\#\#\# bndcu
> -[      ]*23[   ]+\?\?\?\? 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
> -.*  Error: 32-bit address isn't allowed in 64-bit MPX instructions\.
> -[      ]*24[   ]+4C0103
> -[      ]*25[   ]+
> -[      ]*26[   ]+\#\#\# bndcn
> -[      ]*27[   ]+\?\?\?\? 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]*[  ]+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\.
> +[      ]*[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\.
> +[      ]*[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\.
> +[      ]*[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\.
> +[      ]*[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\.
> +[      ]*[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\.
> +[      ]*[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\.
> +[      ]*[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\.
> +[      ]*[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\.
> +[      ]*[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\.
> +[      ]*[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\.
> +[      ]*[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\.
> -[      ]*32[   ]+03
> -[      ]*33[   ]+\?\?\?\? 410F1B0C             bndstx %bnd1, \(%r15,%rax,2\)
> +[      ]*[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\)
> -.*  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]*[  ]+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\.
> +[      ]*[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
> -.*  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\]
> -.*  Error: 32-bit address isn't allowed in 64-bit MPX instructions\.
> -[      ]*45[   ]+08
> -[      ]*46[   ]+\?\?\?\? 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]*[  ]*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\.
> +[      ]*[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\.
> +[      ]*[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\.
> +[      ]*[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\]
> -.*  Error: 32-bit address isn't allowed in 64-bit MPX instructions\.
> -[      ]*51[   ]+08
> -[      ]*52[   ]+\?\?\?\? 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
> +[      ]*[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\.
> -[      ]*54[   ]+08
> -[      ]*55[   ]+\?\?\?\? 67660F1B             bndmov \[edx\+1\*eax\+0x3\], bnd1
> +[      ]*[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\.
> -[      ]*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\]
> -.*  Error: 32-bit address isn't allowed in 64-bit MPX instructions\.
> -[      ]*62[   ]+08
> -[      ]*63[   ]+\?\?\?\? 67F20F1A             bndcu 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\]
> -.*  Error: 32-bit address isn't allowed in 64-bit MPX instructions\.
> -[      ]*66[   ]+08
> -[      ]*67[   ]+\?\?\?\? 67F20F1B             bndcn 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
> -.*  Error: 32-bit address isn't allowed in 64-bit MPX instructions\.
> -[      ]*70[   ]+1803
> -[      ]*71[   ]+\?\?\?\? 670F1B14             bndstx \[1\*ebx\+3\], bnd2
> -.*  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]*[  ]+
> +[      ]*[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\.
> +[      ]*[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\.
> +[      ]*[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\.
> +[      ]*[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\.
> +[      ]*[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\.
> +[      ]*[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\.
> +[      ]*[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
> -.*  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\]
> -.*  Error: 32-bit address isn't allowed in 64-bit MPX instructions\.
> -[      ]*77[   ]+1803
> -[      ]*78[   ]+\?\?\?\? 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]*[  ]+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\.
> +[      ]*[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\.
> + 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\.
> +[      ]*[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
> --- 2017-02-21/gas/testsuite/gas/i386/x86-64-mpx-inval-2.s
> +++ 2017-02-21/gas/testsuite/gas/i386/x86-64-mpx-inval-2.s
> @@ -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]
>
>

OK.

Thanks.

-- 
H.J.

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2017-02-22 16:08 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-02-21 11:08 [PATCH] x86: extend 64-bit invalid MPX insn forms testcase Jan Beulich
2017-02-22 16:08 ` H.J. Lu

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).