Support Intel MPX
[deliverable/binutils-gdb.git] / gas / testsuite / gas / i386 / mpx.s
1 # MPX instructions
2 .allow_index_reg
3 .text
4
5 ### bndmk
6 bndmk (%eax), %bnd1
7 bndmk (0x399), %bnd1
8 bndmk 0x3(%edx), %bnd1
9 bndmk (%eax,%ecx), %bnd1
10 bndmk (,%ecx,1), %bnd1
11 bndmk 0x3(%ecx,%eax,1), %bnd1
12
13 ### bndmov
14 bndmov (%eax), %bnd1
15 bndmov (0x399), %bnd1
16 bndmov 0x3(%edx), %bnd2
17 bndmov (%eax,%edx), %bnd2
18 bndmov (,%eax,1), %bnd2
19 bndmov 0x3(%ecx,%eax,1), %bnd1
20 bndmov %bnd2, %bnd0
21
22 bndmov %bnd1, (%eax)
23 bndmov %bnd1, (0x399)
24 bndmov %bnd2, 0x3(%edx)
25 bndmov %bnd2, (%eax,%edx)
26 bndmov %bnd2, (,%eax,1)
27 bndmov %bnd1, 0x3(%ecx,%eax,1)
28 bndmov %bnd0, %bnd2
29
30 ### bndcl
31 bndcl (%ecx), %bnd1
32 bndcl %ecx, %bnd1
33 bndcl %ax, %bnd1
34 bndcl (0x399), %bnd1
35 bndcl 0x3(%edx), %bnd1
36 bndcl (%eax,%ecx), %bnd1
37 bndcl (,%ecx,1), %bnd1
38 bndcl 0x3(%ecx,%eax,1), %bnd1
39
40 ### bndcu
41 bndcu (%ecx), %bnd1
42 bndcu %ecx, %bnd1
43 bndcu %ax, %bnd1
44 bndcu (0x399), %bnd1
45 bndcu 0x3(%edx), %bnd1
46 bndcu (%eax,%ecx), %bnd1
47 bndcu (,%ecx,1), %bnd1
48 bndcu 0x3(%ecx,%eax,1), %bnd1
49
50 ### bndcn
51 bndcn (%ecx), %bnd1
52 bndcn %ecx, %bnd1
53 bndcn %ax, %bnd1
54 bndcn (0x399), %bnd1
55 bndcn 0x3(%edx), %bnd1
56 bndcn (%eax,%ecx), %bnd1
57 bndcn (,%ecx,1), %bnd1
58 bndcn 0x3(%ecx,%eax,1), %bnd1
59
60 ### bndstx
61 bndstx %bnd0, 0x3(%eax,%ebx,1)
62 bndstx %bnd2, 3(%ebx,%edx)
63 bndstx %bnd2, 3(,%edx,1)
64 bndstx %bnd3, 0x399(%edx)
65 bndstx %bnd2, 0x1234(%ebx)
66 bndstx %bnd2, 3(%ebx,1)
67 bndstx %bnd1, (%edx)
68
69 ### bndldx
70 bndldx 0x3(%eax,%ebx,1), %bnd0
71 bndldx 3(%ebx,%edx), %bnd2
72 bndldx 3(,%edx,1), %bnd2
73 bndldx 0x399(%edx), %bnd3
74 bndldx 0x1234(%ebx), %bnd2
75 bndldx 3(%ebx,1), %bnd2
76 bndldx (%edx), %bnd1
77
78 ### bnd
79 bnd call foo
80 bnd call *(%eax)
81 bnd je foo
82 bnd jmp foo
83 bnd jmp *(%ecx)
84 bnd ret
85
86 .intel_syntax noprefix
87 bndmk bnd1, [eax]
88 bndmk bnd1, [0x399]
89 bndmk bnd1, [ecx+0x3]
90 bndmk bnd1, [eax+ecx]
91 bndmk bnd1, [ecx*1]
92 bndmk bnd1, [edx+1*eax+0x3]
93
94 ### bndmov
95 bndmov bnd1, [eax]
96 bndmov bnd1, [0x399]
97 bndmov bnd1, [ecx+0x3]
98 bndmov bnd1, [eax+ecx]
99 bndmov bnd1, [ecx*1]
100 bndmov bnd1, [edx+1*eax+0x3]
101 bndmov bnd0, bnd1
102
103 bndmov [eax], bnd1
104 bndmov [0x399], bnd1
105 bndmov [ecx+0x3], bnd1
106 bndmov [eax+ecx], bnd1
107 bndmov [ecx*1], bnd1
108 bndmov [edx+1*eax+0x3], bnd1
109 bndmov bnd1, bnd0
110
111 ### bndcl
112 bndcl bnd1, [eax]
113 bndcl bnd1, ecx
114 bndcl bnd1, ax
115 bndcl bnd1, [0x399]
116 bndcl bnd1, [ecx+0x3]
117 bndcl bnd1, [eax+ecx]
118 bndcl bnd1, [ecx*1]
119 bndcl bnd1, [edx+1*eax+0x3]
120
121 ### bndcu
122 bndcu bnd1, [eax]
123 bndcu bnd1, ecx
124 bndcu bnd1, ax
125 bndcu bnd1, [0x399]
126 bndcu bnd1, [ecx+0x3]
127 bndcu bnd1, [eax+ecx]
128 bndcu bnd1, [ecx*1]
129 bndcu bnd1, [edx+1*eax+0x3]
130
131 ### bndcn
132 bndcn bnd1, [eax]
133 bndcn bnd1, ecx
134 bndcn bnd1, ax
135 bndcn bnd1, [0x399]
136 bndcn bnd1, [ecx+0x3]
137 bndcn bnd1, [eax+ecx]
138 bndcn bnd1, [ecx*1]
139 bndcn bnd1, [edx+1*eax+0x3]
140
141 ### bndstx
142 bndstx [eax+ebx*1+0x3], bnd0
143 bndstx [ebx+edx+3], bnd2
144 bndstx [ecx*1], bnd2
145 bndstx [edx+0x399], bnd3
146 bndstx [1*ebx+3], bnd2
147 bndstx [edx], bnd1
148
149 ### bndldx
150 bndldx bnd0, [eax+ebx*1+0x3]
151 bndldx bnd2, [ebx+edx+3]
152 bndldx bnd2, [ecx*1]
153 bndldx bnd3, [edx+0x399]
154 bndldx bnd2, [1*ebx+3]
155 bndldx bnd1, [edx]
156
157 ### bnd
158 bnd call foo
159 bnd call eax
160 bnd je foo
161 bnd jmp foo
162 bnd jmp ecx
163 bnd ret
164
165 foo: bnd ret
This page took 0.034718 seconds and 4 git commands to generate.