Support Intel MPX
[deliverable/binutils-gdb.git] / gas / testsuite / gas / i386 / x86-64-mpx.s
CommitLineData
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
217foo: bnd ret
This page took 0.031214 seconds and 4 git commands to generate.