Commit | Line | Data |
---|---|---|
7e8b059b L |
1 | # MPX instructions |
2 | .allow_index_reg | |
3 | .text | |
4 | ||
5 | ### bndmk | |
6 | bndmk (%r11), %bnd1 | |
7 | bndmk (%rax), %bnd1 | |
8 | bndmk (0x399), %bnd1 | |
9 | bndmk 0x3(%r9), %bnd1 | |
10 | bndmk 0x3(%rax), %bnd1 | |
11 | bndmk 0x3(,%r12,1), %bnd1 | |
12 | bndmk (%rax,%rcx), %bnd1 | |
13 | bndmk 0x3(%r11,%rax,1), %bnd1 | |
14 | bndmk 0x3(%rbx,%r9,1), %bnd1 | |
15 | ||
16 | ### bndmov | |
17 | bndmov (%r11), %bnd1 | |
18 | bndmov (%rax), %bnd1 | |
19 | bndmov (0x399), %bnd1 | |
20 | bndmov 0x3(%r9), %bnd2 | |
21 | bndmov 0x3(%rax), %bnd2 | |
22 | bndmov 0x3(,%r12,1), %bnd0 | |
23 | bndmov (%rax,%rdx), %bnd2 | |
24 | bndmov 0x3(%r11,%rax,1), %bnd1 | |
25 | bndmov 0x3(%rbx,%r9,1), %bnd1 | |
26 | bndmov %bnd2, %bnd0 | |
27 | ||
28 | bndmov %bnd1, (%r11) | |
29 | bndmov %bnd1, (%rax) | |
30 | bndmov %bnd1, (0x399) | |
31 | bndmov %bnd2, 0x3(%r9) | |
32 | bndmov %bnd2, 0x3(%rax) | |
33 | bndmov %bnd0, 0x3(,%r12,1) | |
34 | bndmov %bnd2, (%rax,%rdx) | |
35 | bndmov %bnd1, 0x3(%r11,%rax,1) | |
36 | bndmov %bnd1, 0x3(%rbx,%r9,1) | |
37 | bndmov %bnd0, %bnd2 | |
38 | ||
39 | ### bndcl | |
40 | bndcl (%r11), %bnd1 | |
41 | bndcl (%rax), %bnd1 | |
42 | bndcl %r11, %bnd1 | |
43 | bndcl %rcx, %bnd1 | |
44 | bndcl %ax, %bnd1 | |
45 | bndcl (0x399), %bnd1 | |
46 | bndcl 0x3(%r9), %bnd2 | |
47 | bndcl 0x3(%rax), %bnd2 | |
48 | bndcl 0x3(,%r12,1), %bnd0 | |
49 | bndcl (%rax,%rdx), %bnd2 | |
50 | bndcl 0x3(%r11,%rax,1), %bnd1 | |
51 | bndcl 0x3(%rbx,%r9,1), %bnd1 | |
52 | ||
53 | ### bndcu | |
54 | bndcu (%r11), %bnd1 | |
55 | bndcu (%rax), %bnd1 | |
56 | bndcu %r11, %bnd1 | |
57 | bndcu %rcx, %bnd1 | |
58 | bndcu %ax, %bnd1 | |
59 | bndcu (0x399), %bnd1 | |
60 | bndcu 0x3(%r9), %bnd2 | |
61 | bndcu 0x3(%rax), %bnd2 | |
62 | bndcu 0x3(,%r12,1), %bnd0 | |
63 | bndcu (%rax,%rdx), %bnd2 | |
64 | bndcu 0x3(%r11,%rax,1), %bnd1 | |
65 | bndcu 0x3(%rbx,%r9,1), %bnd1 | |
66 | ||
67 | ### bndcn | |
68 | bndcn (%r11), %bnd1 | |
69 | bndcn (%rax), %bnd1 | |
70 | bndcn %r11, %bnd1 | |
71 | bndcn %rcx, %bnd1 | |
72 | bndcn %ax, %bnd1 | |
73 | bndcn (0x399), %bnd1 | |
74 | bndcn 0x3(%r9), %bnd2 | |
75 | bndcn 0x3(%rax), %bnd2 | |
76 | bndcn 0x3(,%r12,1), %bnd0 | |
77 | bndcn (%rax,%rdx), %bnd2 | |
78 | bndcn 0x3(%r11,%rax,1), %bnd1 | |
79 | bndcn 0x3(%rbx,%r9,1), %bnd1 | |
80 | ||
81 | ### bndstx | |
82 | bndstx %bnd0, 0x3(%rax,%rbx,1) | |
83 | bndstx %bnd2, 3(%rbx,%rdx) | |
84 | bndstx %bnd3, 0x399(%r12) | |
85 | bndstx %bnd1, 0x1234(%r11) | |
86 | bndstx %bnd2, 0x1234(%rbx) | |
87 | bndstx %bnd2, 3(,%rbx,1) | |
88 | bndstx %bnd2, 3(,%r12,1) | |
89 | bndstx %bnd1, (%rdx) | |
90 | ||
91 | ### bndldx | |
92 | bndldx 0x3(%rax,%rbx,1), %bnd0 | |
93 | bndldx 3(%rbx,%rdx), %bnd2 | |
94 | bndldx 0x399(%r12), %bnd3 | |
95 | bndldx 0x1234(%r11), %bnd1 | |
96 | bndldx 0x1234(%rbx), %bnd2 | |
97 | bndldx 3(,%rbx,1), %bnd2 | |
98 | bndldx 3(,%r12,1), %bnd2 | |
99 | bndldx (%rdx), %bnd1 | |
100 | ||
101 | ### bnd | |
102 | bnd call foo | |
103 | bnd call *(%rax) | |
104 | bnd call *(%r11) | |
105 | bnd je foo | |
106 | bnd jmp foo | |
107 | bnd jmp *(%rcx) | |
108 | bnd jmp *(%r12) | |
109 | bnd ret | |
110 | ||
111 | .intel_syntax noprefix | |
112 | bndmk bnd1, [r11] | |
113 | bndmk bnd1, [rax] | |
114 | bndmk bnd1, [0x399] | |
115 | bndmk bnd1, [r9+0x3] | |
116 | bndmk bnd1, [rax+0x3] | |
117 | bndmk bnd1, [1*r12+0x3] | |
118 | bndmk bnd1, [rax+rcx] | |
119 | bndmk bnd1, [r11+1*rax+0x3] | |
120 | bndmk bnd1, [rbx+1*r9+0x3] | |
121 | ||
122 | ### bndmov | |
123 | bndmov bnd1, [r11] | |
124 | bndmov bnd1, [rax] | |
125 | bndmov bnd1, [0x399] | |
126 | bndmov bnd2, [r9+0x3] | |
127 | bndmov bnd2, [rax+0x3] | |
128 | bndmov bnd0, [1*r12+0x3] | |
129 | bndmov bnd2, [rax+rdx] | |
130 | bndmov bnd1, [r11+1*rax+0x3] | |
131 | bndmov bnd1, [rbx+1*r9+0x3] | |
132 | bndmov bnd0, bnd2 | |
133 | ||
134 | bndmov [r11], bnd1 | |
135 | bndmov [rax], bnd1 | |
136 | bndmov [0x399], bnd1 | |
137 | bndmov [r9+0x3], bnd2 | |
138 | bndmov [rax+0x3], bnd2 | |
139 | bndmov [1*r12+0x3], bnd0 | |
140 | bndmov [rax+rdx], bnd2 | |
141 | bndmov [r11+1*rax+0x3], bnd1 | |
142 | bndmov [rbx+1*r9+0x3], bnd1 | |
143 | bndmov bnd2, bnd0 | |
144 | ||
145 | ### bndcl | |
146 | bndcl bnd1, [r11] | |
147 | bndcl bnd1, [rax] | |
148 | bndcl bnd1, r11 | |
149 | bndcl bnd1, rcx | |
150 | bndcl bnd1, ax | |
151 | bndcl bnd1, [0x399] | |
152 | bndcl bnd1, [r9+0x3] | |
153 | bndcl bnd1, [rax+0x3] | |
154 | bndcl bnd1, [1*r12+0x3] | |
155 | bndcl bnd1, [rax+rcx] | |
156 | bndcl bnd1, [r11+1*rax+0x3] | |
157 | bndcl bnd1, [rbx+1*r9+0x3] | |
158 | ||
159 | ### bndcu | |
160 | bndcu bnd1, [r11] | |
161 | bndcu bnd1, [rax] | |
162 | bndcu bnd1, r11 | |
163 | bndcu bnd1, rcx | |
164 | bndcu bnd1, ax | |
165 | bndcu bnd1, [0x399] | |
166 | bndcu bnd1, [r9+0x3] | |
167 | bndcu bnd1, [rax+0x3] | |
168 | bndcu bnd1, [1*r12+0x3] | |
169 | bndcu bnd1, [rax+rcx] | |
170 | bndcu bnd1, [r11+1*rax+0x3] | |
171 | bndcu bnd1, [rbx+1*r9+0x3] | |
172 | ||
173 | ### bndcn | |
174 | bndcn bnd1, [r11] | |
175 | bndcn bnd1, [rax] | |
176 | bndcn bnd1, r11 | |
177 | bndcn bnd1, rcx | |
178 | bndcn bnd1, ax | |
179 | bndcn bnd1, [0x399] | |
180 | bndcn bnd1, [r9+0x3] | |
181 | bndcn bnd1, [rax+0x3] | |
182 | bndcn bnd1, [1*r9+0x3] | |
183 | bndcn bnd1, [rax+rcx] | |
184 | bndcn bnd1, [r11+1*rax+0x3] | |
185 | bndcn bnd1, [rbx+1*r9+0x3] | |
186 | ||
187 | ### bndstx | |
188 | bndstx [rax+rbx*1+0x3], bnd0 | |
189 | bndstx [rbx+rdx+3], bnd2 | |
190 | bndstx [r12+0x399], bnd3 | |
191 | bndstx [r11+0x1234], bnd1 | |
192 | bndstx [rbx+0x1234], bnd2 | |
193 | bndstx [1*rbx+3], bnd2 | |
194 | bndstx [1*r12+3], bnd2 | |
195 | bndstx [rdx], bnd1 | |
196 | ||
197 | ### bndldx | |
198 | bndldx bnd0, [rax+rbx*1+0x3] | |
199 | bndldx bnd2, [rbx+rdx+3] | |
200 | bndldx bnd3, [r12+0x399] | |
201 | bndldx bnd1, [r11+0x1234] | |
202 | bndldx bnd2, [rbx+0x1234] | |
203 | bndldx bnd2, [1*rbx+3] | |
204 | bndldx bnd2, [1*r12+3] | |
205 | bndldx bnd1, [rdx] | |
206 | ||
207 | ### bnd | |
208 | bnd call foo | |
209 | bnd call rax | |
210 | bnd call r11 | |
211 | bnd je foo | |
212 | bnd jmp foo | |
213 | bnd jmp rcx | |
214 | bnd jmp r12 | |
215 | bnd ret | |
216 | ||
217 | foo: bnd ret |