...
1
2
3###FILE: ./datafiles/xed-state-bits.txt
4
5#BEGIN_LEGAL
6#
7#Copyright (c) 2016 Intel Corporation
8#
9# Licensed under the Apache License, Version 2.0 (the "License");
10# you may not use this file except in compliance with the License.
11# You may obtain a copy of the License at
12#
13# http://www.apache.org/licenses/LICENSE-2.0
14#
15# Unless required by applicable law or agreed to in writing, software
16# distributed under the License is distributed on an "AS IS" BASIS,
17# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18# See the License for the specific language governing permissions and
19# limitations under the License.
20#
21#END_LEGAL
22###########################################################################
23## file: xed-state-bits.txt
24###########################################################################
25
26# These are just shorthand for some conditions or captures.
27# Simple macro replacement
28#all_modes ALL_MODES=1
29not64 MODE!=2
30mode64 MODE=2
31mode32 MODE=1
32mode16 MODE=0
33
34# effective addressing mode
35eanot16 EASZ!=1
36eamode16 EASZ=1
37eamode32 EASZ=2
38eamode64 EASZ=3
39
40# stack addressing mode
41smode16 SMODE=0
42smode32 SMODE=1
43smode64 SMODE=2
44
45eosz8 EOSZ=0
46eosz16 EOSZ=1
47not_eosz16 EOSZ!=1
48eosz32 EOSZ=2
49eosz64 EOSZ=3
50eosznot64 EOSZ!=3
51
52
53# for OD expansion in graph partitioning FIXME
54mod0 MOD=0
55mod1 MOD=1
56mod2 MOD=2
57mod3 MOD=3
58
59rex_reqd REX=1
60no_rex REX=0
61reset_rex REX=0 REXW=0 REXB=0 REXR=0 REXX=0
62
63rexb_prefix REXB=1
64rexx_prefix REXX=1
65rexr_prefix REXR=1
66
67# 2013-09-25 FIXME: we were inconsistent. some things use W0/W1, some
68# use the more verbose form. We should converge on W0/W1.
69#
70rexw_prefix REXW=1 SKIP_OSZ=1
71norexw_prefix REXW=0 SKIP_OSZ=1
72W1 REXW=1 SKIP_OSZ=1
73W0 REXW=0 SKIP_OSZ=1
74
75norexb_prefix REXB=0
76norexx_prefix REXX=0
77norexr_prefix REXR=0
78############################################################3333
79f2_prefix REP=2 # REPNZ, REPNE
80f3_prefix REP=3 # REPZ, REPE
81repne REP=2
82repe REP=3
83norep REP=0
8466_prefix OSZ=1
85nof3_prefix REP!=3
86no66_prefix OSZ=0
87not_refining REP=0 # dummy setting for state values 2007-08-06 FIXME
88refining_f2 REP=2
89refining_f3 REP=3
90not_refining_f3 REP!=3 # for pause vs xchg
91no_refining_prefix REP=0 OSZ=0 # critical:REP must be first for decoding partitioning
92osz_refining_prefix REP=0 OSZ=1
93f2_refining_prefix REP=2
94f3_refining_prefix REP=3
95
96no67_prefix ASZ=0
9767_prefix ASZ=1
98
99lock_prefix LOCK=1
100nolock_prefix LOCK=0
101
102default_ds DEFAULT_SEG=0
103default_ss DEFAULT_SEG=1
104default_es DEFAULT_SEG=2 # for string ops
105no_seg_prefix SEG_OVD=0
106some_seg_prefix SEG_OVD!=0
107cs_prefix SEG_OVD=1
108ds_prefix SEG_OVD=2
109es_prefix SEG_OVD=3
110fs_prefix SEG_OVD=4
111gs_prefix SEG_OVD=5
112ss_prefix SEG_OVD=6
113
114# default (or not) to 64b width in 64b mode
115nrmw DF64=0
116df64 DF64=1
117
118# default choice for encoder when there are multiple choices for a
119# nonterminal. The ISA is not uniquely determined for encoding so we
120# must express preferences for certain forms!
121enc ENCODER_PREFERRED=1
122
123# for the legacy prefix encoder, tell it to keep trying rules and not
124# return after successfully finding one that applies
125no_return NO_RETURN=1
126
127# indicate an encoding or decoding error occurred
128error ERROR=XED_ERROR_GENERAL_ERROR
129
130# dummy constraint which always satisfies
131true DUMMY=0
132
133
134###FILE: ./datafiles/amdxop/xop-state-bits.txt
135
136#BEGIN_LEGAL
137#
138#Copyright (c) 2016 Intel Corporation
139#
140# Licensed under the Apache License, Version 2.0 (the "License");
141# you may not use this file except in compliance with the License.
142# You may obtain a copy of the License at
143#
144# http://www.apache.org/licenses/LICENSE-2.0
145#
146# Unless required by applicable law or agreed to in writing, software
147# distributed under the License is distributed on an "AS IS" BASIS,
148# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
149# See the License for the specific language governing permissions and
150# limitations under the License.
151#
152#END_LEGAL
153
154XMAP8 MAP=8
155XMAP9 MAP=9
156XMAPA MAP=10
157
158XOPV VEXVALID=3
159
160
161###FILE: ./datafiles/avx/avx-state-bits.txt
162
163#BEGIN_LEGAL
164#
165#Copyright (c) 2016 Intel Corporation
166#
167# Licensed under the Apache License, Version 2.0 (the "License");
168# you may not use this file except in compliance with the License.
169# You may obtain a copy of the License at
170#
171# http://www.apache.org/licenses/LICENSE-2.0
172#
173# Unless required by applicable law or agreed to in writing, software
174# distributed under the License is distributed on an "AS IS" BASIS,
175# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
176# See the License for the specific language governing permissions and
177# limitations under the License.
178#
179#END_LEGAL
180VL128 VL=0
181VL256 VL=1
182
183VV1 VEXVALID=1
184VV0 VEXVALID=0
185
186VMAP0 MAP=0
187V0F MAP=1
188V0F38 MAP=2
189V0F3A MAP=3
190
191VNP VEX_PREFIX=0
192V66 VEX_PREFIX=1
193VF2 VEX_PREFIX=2
194VF3 VEX_PREFIX=3
195
196# No VEX-SPECIFIED-REGISTER
197NOVSR VEXDEST3=0b1 VEXDEST210=0b111
198
199EMX_BROADCAST_1TO4_32 BCAST=10 # 128
200EMX_BROADCAST_1TO4_64 BCAST=13 # 256
201EMX_BROADCAST_1TO8_32 BCAST=3 # 256
202EMX_BROADCAST_2TO4_64 BCAST=20 # 256
203
204
205
206###FILE: ./datafiles/avxhsw/hsw-state-bits.txt
207
208#BEGIN_LEGAL
209#
210#Copyright (c) 2016 Intel Corporation
211#
212# Licensed under the Apache License, Version 2.0 (the "License");
213# you may not use this file except in compliance with the License.
214# You may obtain a copy of the License at
215#
216# http://www.apache.org/licenses/LICENSE-2.0
217#
218# Unless required by applicable law or agreed to in writing, software
219# distributed under the License is distributed on an "AS IS" BASIS,
220# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
221# See the License for the specific language governing permissions and
222# limitations under the License.
223#
224#END_LEGAL
225
226
227EMX_BROADCAST_1TO2_64 BCAST=11 # 128
228EMX_BROADCAST_1TO8_16 BCAST=14 # 128
229EMX_BROADCAST_1TO16_16 BCAST=15 # 256
230EMX_BROADCAST_1TO16_8 BCAST=17 # 128
231EMX_BROADCAST_1TO32_8 BCAST=18 # 256
232
233
234
235
236###FILE: /home/quasilyte/CODE/intel/xed/datafiles/knc/uisa-state-bits.txt
237
238#BEGIN_LEGAL
239#
240#Copyright (c) 2016 Intel Corporation
241#
242# Licensed under the Apache License, Version 2.0 (the "License");
243# you may not use this file except in compliance with the License.
244# You may obtain a copy of the License at
245#
246# http://www.apache.org/licenses/LICENSE-2.0
247#
248# Unless required by applicable law or agreed to in writing, software
249# distributed under the License is distributed on an "AS IS" BASIS,
250# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
251# See the License for the specific language governing permissions and
252# limitations under the License.
253#
254#END_LEGAL
255
256VL512 VL=2
257VLBAD VL=3 # unused VL setting to cause things not to decode.
258
259# KNC EVEX is KVV
260#
261KVV VEXVALID=4
262
263# No VEX-SPECIFIED-REGISTER
264NOEVSR VEXDEST3=0b1 VEXDEST210=0b111 VEXDEST4=0b0
265
266# No VEX-SPECIFIED-REGISTER for GATHERS/SCATTERS -- index reg 5th bit is VEXTDEST4
267NO_SPARSE_EVSR VEXDEST3=0b1 VEXDEST210=0b111
268
269# These conflict w/another chip ... so if you ever build a combo
270# model you'll have to remove these somehow.
271#
272EMX_BROADCAST_1TO16_32 BCAST=1 # 512
273EMX_BROADCAST_4TO16_32 BCAST=2 # 512
274EMX_BROADCAST_1TO8_64 BCAST=5 # 512
275EMX_BROADCAST_4TO8_64 BCAST=6 # 512
276
277
278
279###FILE: ./datafiles/avx512f/avx512-state-bits.txt
280
281#BEGIN_LEGAL
282#
283#Copyright (c) 2016 Intel Corporation
284#
285# Licensed under the Apache License, Version 2.0 (the "License");
286# you may not use this file except in compliance with the License.
287# You may obtain a copy of the License at
288#
289# http://www.apache.org/licenses/LICENSE-2.0
290#
291# Unless required by applicable law or agreed to in writing, software
292# distributed under the License is distributed on an "AS IS" BASIS,
293# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
294# See the License for the specific language governing permissions and
295# limitations under the License.
296#
297#END_LEGAL
298EVV VEXVALID=2
299
300EMX_BROADCAST_1TO16_32 BCAST=1 # 512
301EMX_BROADCAST_4TO16_32 BCAST=2 # 512
302EMX_BROADCAST_1TO8_64 BCAST=5 # 512
303EMX_BROADCAST_4TO8_64 BCAST=6 # 512
304EMX_BROADCAST_2TO16_32 BCAST=7 # 512
305EMX_BROADCAST_2TO8_64 BCAST=8 # 512
306EMX_BROADCAST_8TO16_32 BCAST=9 # 512
307EMX_BROADCAST_1TO32_16 BCAST=16 # 512
308EMX_BROADCAST_1TO64_8 BCAST=19 # 512
309# these do not show up on earlier processors
310EMX_BROADCAST_4TO8_32 BCAST=4 # 256
311EMX_BROADCAST_2TO4_32 BCAST=12 # 128
312EMX_BROADCAST_2TO8_32 BCAST=21 # 256
313EMX_BROADCAST_1TO2_32 BCAST=22 # 128
314
315
316###FILE: ./datafiles/avx512-skx/skx-state-bits.txt
317
318#BEGIN_LEGAL
319#
320#Copyright (c) 2016 Intel Corporation
321#
322# Licensed under the Apache License, Version 2.0 (the "License");
323# you may not use this file except in compliance with the License.
324# You may obtain a copy of the License at
325#
326# http://www.apache.org/licenses/LICENSE-2.0
327#
328# Unless required by applicable law or agreed to in writing, software
329# distributed under the License is distributed on an "AS IS" BASIS,
330# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
331# See the License for the specific language governing permissions and
332# limitations under the License.
333#
334#END_LEGAL
335
336EMX_BROADCAST_1TO2_8 BCAST=23
337EMX_BROADCAST_1TO4_8 BCAST=24
338EMX_BROADCAST_1TO8_8 BCAST=25
339
340EMX_BROADCAST_1TO2_16 BCAST=26
341EMX_BROADCAST_1TO4_16 BCAST=27
View as plain text