1 ;Testname=mpx-64; Arguments=-felf64 -ompx-64.o -O0; Files=stdout stderr mpx-64.o
11 bndmk bnd1
, [r11
+1*rax
+0x3]
12 bndmk bnd1
, [rbx
+1*r9
+0x3]
19 bndmov bnd2
, [rax
+0x3]
20 bndmov bnd0
, [1*r12
+0x3]
21 bndmov bnd2
, [rax
+rdx
]
22 bndmov bnd1
, [r11
+1*rax
+0x3]
23 bndmov bnd1
, [rbx
+1*r9
+0x3]
30 bndmov
[rax
+0x3], bnd2
31 bndmov
[1*r12
+0x3], bnd0
32 bndmov
[rax
+rdx
], bnd2
33 bndmov
[r11
+1*rax
+0x3], bnd1
34 bndmov
[rbx
+1*r9
+0x3], bnd1
45 bndcl bnd1
, [1*r12
+0x3]
47 bndcl bnd1
, [r11
+1*rax
+0x3]
48 bndcl bnd1
, [rbx
+1*r9
+0x3]
58 bndcu bnd1
, [1*r12
+0x3]
60 bndcu bnd1
, [r11
+1*rax
+0x3]
61 bndcu bnd1
, [rbx
+1*r9
+0x3]
71 bndcn bnd1
, [1*r9
+0x3]
73 bndcn bnd1
, [r11
+1*rax
+0x3]
74 bndcn bnd1
, [rbx
+1*r9
+0x3]
77 ; next 5 lines should be parsed same
78 bndstx
[rax
+0x3,rbx
], bnd0
; NASM - split EA
79 bndstx
[rax
+rbx
*1+0x3], bnd0
; GAS
80 bndstx
[rax
+rbx
+3], bnd0
; GAS
81 bndstx
[rax
+0x3], bnd0
, rbx
; ICC-1
82 bndstx
[rax
+0x3], rbx
, bnd0
; ICC-2
84 ; next 5 lines should be parsed same
85 bndstx
[,rcx
*1], bnd2
; NASM
86 bndstx
[0,rcx
*1], bnd2
; NASM
87 bndstx
[0], bnd2
, rcx
; ICC-1
88 bndstx
[0], rcx
, bnd2
; ICC-2
89 bndstx
[rcx
*1], bnd2
; GAS - rcx is encoded as index only when it is mib
91 ; next 3 lines should be parsed same
92 bndstx
[3,1*r12
], bnd2
; NASM
93 bndstx
[1*r12
+3], bnd2
; GAS
94 bndstx
[3], r12
, bnd2
; ICC
96 bndstx
[r12
+0x399], bnd3
97 bndstx
[r11
+0x1234], bnd1
98 bndstx
[rbx
+0x1234], bnd2
102 bndldx bnd0
, [rax
+rbx
*1+0x3]
103 bndldx bnd2
, [rbx
+rdx
+3]
104 bndldx bnd3
, [r12
+0x399]
105 bndldx bnd1
, [r11
+0x1234]
106 bndldx bnd2
, [rbx
+0x1234]
107 bndldx bnd2
, [1*rbx
+3]
108 bndldx bnd2
, [1*r12
+3]
114 bnd
jmp foo
; when it becomes a Jb form - short jmp (eb),
115 ; bnd prefix is silently dropped
116 bnd
jmp near 0 ; near jmp (opcode e9)
117 ; bnd jmp short 0 ; explicit short jmp (opcode eb) : error