10554
|
1 ;Testname=mpx-64; Arguments=-felf64 -ompx-64.o -O0; Files=stdout stderr mpx-64.o
|
|
2 BITS 64
|
|
3
|
|
4 bndmk bnd1, [r11]
|
|
5 bndmk bnd1, [rax]
|
|
6 bndmk bnd1, [0x399]
|
|
7 bndmk bnd1, [r9+0x3]
|
|
8 bndmk bnd1, [rax+0x3]
|
|
9 bndmk bnd1, [3,1*r12]
|
|
10 bndmk bnd1, [rax+rcx]
|
|
11 bndmk bnd1, [r11+1*rax+0x3]
|
|
12 bndmk bnd1, [rbx+1*r9+0x3]
|
|
13
|
|
14 ; bndmov
|
|
15 bndmov bnd1, [r11]
|
|
16 bndmov bnd1, [rax]
|
|
17 bndmov bnd1, [0x399]
|
|
18 bndmov bnd2, [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]
|
|
24 bndmov bnd0, bnd2
|
|
25
|
|
26 bndmov [r11], bnd1
|
|
27 bndmov [rax], bnd1
|
|
28 bndmov [0x399], bnd1
|
|
29 bndmov [r9+0x3], bnd2
|
|
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
|
|
35 bndmov bnd2, bnd0
|
|
36
|
|
37 ; bndcl
|
|
38 bndcl bnd1, [r11]
|
|
39 bndcl bnd1, [rax]
|
|
40 bndcl bnd1, r11
|
|
41 bndcl bnd1, rcx
|
|
42 bndcl bnd1, [0x399]
|
|
43 bndcl bnd1, [r9+0x3]
|
|
44 bndcl bnd1, [rax+0x3]
|
|
45 bndcl bnd1, [1*r12+0x3]
|
|
46 bndcl bnd1, [rax+rcx]
|
|
47 bndcl bnd1, [r11+1*rax+0x3]
|
|
48 bndcl bnd1, [rbx+1*r9+0x3]
|
|
49
|
|
50 ; bndcu
|
|
51 bndcu bnd1, [r11]
|
|
52 bndcu bnd1, [rax]
|
|
53 bndcu bnd1, r11
|
|
54 bndcu bnd1, rcx
|
|
55 bndcu bnd1, [0x399]
|
|
56 bndcu bnd1, [r9+0x3]
|
|
57 bndcu bnd1, [rax+0x3]
|
|
58 bndcu bnd1, [1*r12+0x3]
|
|
59 bndcu bnd1, [rax+rcx]
|
|
60 bndcu bnd1, [r11+1*rax+0x3]
|
|
61 bndcu bnd1, [rbx+1*r9+0x3]
|
|
62
|
|
63 ; bndcn
|
|
64 bndcn bnd1, [r11]
|
|
65 bndcn bnd1, [rax]
|
|
66 bndcn bnd1, r11
|
|
67 bndcn bnd1, rcx
|
|
68 bndcn bnd1, [0x399]
|
|
69 bndcn bnd1, [r9+0x3]
|
|
70 bndcn bnd1, [rax+0x3]
|
|
71 bndcn bnd1, [1*r9+0x3]
|
|
72 bndcn bnd1, [rax+rcx]
|
|
73 bndcn bnd1, [r11+1*rax+0x3]
|
|
74 bndcn bnd1, [rbx+1*r9+0x3]
|
|
75
|
|
76 ; bndstx
|
|
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
|
|
83
|
|
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
|
|
90
|
|
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
|
|
95
|
|
96 bndstx [r12+0x399], bnd3
|
|
97 bndstx [r11+0x1234], bnd1
|
|
98 bndstx [rbx+0x1234], bnd2
|
|
99 bndstx [rdx], bnd1
|
|
100
|
|
101 ; bndldx
|
|
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]
|
|
109 bndldx bnd1, [rdx]
|
|
110
|
|
111 ; bnd
|
|
112 bnd ret
|
|
113 bnd call foo
|
|
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
|
|
118 bnd jno foo
|
|
119
|
|
120 foo: bnd ret
|