| |
| |
| ###FILE: ./datafiles/xed-state-bits.txt |
| |
| #BEGIN_LEGAL |
| # |
| #Copyright (c) 2016 Intel Corporation |
| # |
| # Licensed under the Apache License, Version 2.0 (the "License"); |
| # you may not use this file except in compliance with the License. |
| # You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, software |
| # distributed under the License is distributed on an "AS IS" BASIS, |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| # See the License for the specific language governing permissions and |
| # limitations under the License. |
| # |
| #END_LEGAL |
| ########################################################################### |
| ## file: xed-state-bits.txt |
| ########################################################################### |
| |
| # These are just shorthand for some conditions or captures. |
| # Simple macro replacement |
| #all_modes ALL_MODES=1 |
| not64 MODE!=2 |
| mode64 MODE=2 |
| mode32 MODE=1 |
| mode16 MODE=0 |
| |
| # effective addressing mode |
| eanot16 EASZ!=1 |
| eamode16 EASZ=1 |
| eamode32 EASZ=2 |
| eamode64 EASZ=3 |
| |
| # stack addressing mode |
| smode16 SMODE=0 |
| smode32 SMODE=1 |
| smode64 SMODE=2 |
| |
| eosz8 EOSZ=0 |
| eosz16 EOSZ=1 |
| not_eosz16 EOSZ!=1 |
| eosz32 EOSZ=2 |
| eosz64 EOSZ=3 |
| eosznot64 EOSZ!=3 |
| |
| |
| # for OD expansion in graph partitioning FIXME |
| mod0 MOD=0 |
| mod1 MOD=1 |
| mod2 MOD=2 |
| mod3 MOD=3 |
| |
| rex_reqd REX=1 |
| no_rex REX=0 |
| reset_rex REX=0 REXW=0 REXB=0 REXR=0 REXX=0 |
| |
| rexb_prefix REXB=1 |
| rexx_prefix REXX=1 |
| rexr_prefix REXR=1 |
| |
| # 2013-09-25 FIXME: we were inconsistent. some things use W0/W1, some |
| # use the more verbose form. We should converge on W0/W1. |
| # |
| rexw_prefix REXW=1 SKIP_OSZ=1 |
| norexw_prefix REXW=0 SKIP_OSZ=1 |
| W1 REXW=1 SKIP_OSZ=1 |
| W0 REXW=0 SKIP_OSZ=1 |
| |
| norexb_prefix REXB=0 |
| norexx_prefix REXX=0 |
| norexr_prefix REXR=0 |
| ############################################################3333 |
| f2_prefix REP=2 # REPNZ, REPNE |
| f3_prefix REP=3 # REPZ, REPE |
| repne REP=2 |
| repe REP=3 |
| norep REP=0 |
| 66_prefix OSZ=1 |
| nof3_prefix REP!=3 |
| no66_prefix OSZ=0 |
| not_refining REP=0 # dummy setting for state values 2007-08-06 FIXME |
| refining_f2 REP=2 |
| refining_f3 REP=3 |
| not_refining_f3 REP!=3 # for pause vs xchg |
| no_refining_prefix REP=0 OSZ=0 # critical:REP must be first for decoding partitioning |
| osz_refining_prefix REP=0 OSZ=1 |
| f2_refining_prefix REP=2 |
| f3_refining_prefix REP=3 |
| |
| no67_prefix ASZ=0 |
| 67_prefix ASZ=1 |
| |
| lock_prefix LOCK=1 |
| nolock_prefix LOCK=0 |
| |
| default_ds DEFAULT_SEG=0 |
| default_ss DEFAULT_SEG=1 |
| default_es DEFAULT_SEG=2 # for string ops |
| no_seg_prefix SEG_OVD=0 |
| some_seg_prefix SEG_OVD!=0 |
| cs_prefix SEG_OVD=1 |
| ds_prefix SEG_OVD=2 |
| es_prefix SEG_OVD=3 |
| fs_prefix SEG_OVD=4 |
| gs_prefix SEG_OVD=5 |
| ss_prefix SEG_OVD=6 |
| |
| # default (or not) to 64b width in 64b mode |
| nrmw DF64=0 |
| df64 DF64=1 |
| |
| # default choice for encoder when there are multiple choices for a |
| # nonterminal. The ISA is not uniquely determined for encoding so we |
| # must express preferences for certain forms! |
| enc ENCODER_PREFERRED=1 |
| |
| # for the legacy prefix encoder, tell it to keep trying rules and not |
| # return after successfully finding one that applies |
| no_return NO_RETURN=1 |
| |
| # indicate an encoding or decoding error occurred |
| error ERROR=XED_ERROR_GENERAL_ERROR |
| |
| # dummy constraint which always satisfies |
| true DUMMY=0 |
| |
| |
| ###FILE: ./datafiles/amdxop/xop-state-bits.txt |
| |
| #BEGIN_LEGAL |
| # |
| #Copyright (c) 2016 Intel Corporation |
| # |
| # Licensed under the Apache License, Version 2.0 (the "License"); |
| # you may not use this file except in compliance with the License. |
| # You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, software |
| # distributed under the License is distributed on an "AS IS" BASIS, |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| # See the License for the specific language governing permissions and |
| # limitations under the License. |
| # |
| #END_LEGAL |
| |
| XMAP8 MAP=8 |
| XMAP9 MAP=9 |
| XMAPA MAP=10 |
| |
| XOPV VEXVALID=3 |
| |
| |
| ###FILE: ./datafiles/avx/avx-state-bits.txt |
| |
| #BEGIN_LEGAL |
| # |
| #Copyright (c) 2016 Intel Corporation |
| # |
| # Licensed under the Apache License, Version 2.0 (the "License"); |
| # you may not use this file except in compliance with the License. |
| # You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, software |
| # distributed under the License is distributed on an "AS IS" BASIS, |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| # See the License for the specific language governing permissions and |
| # limitations under the License. |
| # |
| #END_LEGAL |
| VL128 VL=0 |
| VL256 VL=1 |
| |
| VV1 VEXVALID=1 |
| VV0 VEXVALID=0 |
| |
| VMAP0 MAP=0 |
| V0F MAP=1 |
| V0F38 MAP=2 |
| V0F3A MAP=3 |
| |
| VNP VEX_PREFIX=0 |
| V66 VEX_PREFIX=1 |
| VF2 VEX_PREFIX=2 |
| VF3 VEX_PREFIX=3 |
| |
| # No VEX-SPECIFIED-REGISTER |
| NOVSR VEXDEST3=0b1 VEXDEST210=0b111 |
| |
| EMX_BROADCAST_1TO4_32 BCAST=10 # 128 |
| EMX_BROADCAST_1TO4_64 BCAST=13 # 256 |
| EMX_BROADCAST_1TO8_32 BCAST=3 # 256 |
| EMX_BROADCAST_2TO4_64 BCAST=20 # 256 |
| |
| |
| |
| ###FILE: ./datafiles/avxhsw/hsw-state-bits.txt |
| |
| #BEGIN_LEGAL |
| # |
| #Copyright (c) 2016 Intel Corporation |
| # |
| # Licensed under the Apache License, Version 2.0 (the "License"); |
| # you may not use this file except in compliance with the License. |
| # You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, software |
| # distributed under the License is distributed on an "AS IS" BASIS, |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| # See the License for the specific language governing permissions and |
| # limitations under the License. |
| # |
| #END_LEGAL |
| |
| |
| EMX_BROADCAST_1TO2_64 BCAST=11 # 128 |
| EMX_BROADCAST_1TO8_16 BCAST=14 # 128 |
| EMX_BROADCAST_1TO16_16 BCAST=15 # 256 |
| EMX_BROADCAST_1TO16_8 BCAST=17 # 128 |
| EMX_BROADCAST_1TO32_8 BCAST=18 # 256 |
| |
| |
| |
| |
| ###FILE: /home/quasilyte/CODE/intel/xed/datafiles/knc/uisa-state-bits.txt |
| |
| #BEGIN_LEGAL |
| # |
| #Copyright (c) 2016 Intel Corporation |
| # |
| # Licensed under the Apache License, Version 2.0 (the "License"); |
| # you may not use this file except in compliance with the License. |
| # You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, software |
| # distributed under the License is distributed on an "AS IS" BASIS, |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| # See the License for the specific language governing permissions and |
| # limitations under the License. |
| # |
| #END_LEGAL |
| |
| VL512 VL=2 |
| VLBAD VL=3 # unused VL setting to cause things not to decode. |
| |
| # KNC EVEX is KVV |
| # |
| KVV VEXVALID=4 |
| |
| # No VEX-SPECIFIED-REGISTER |
| NOEVSR VEXDEST3=0b1 VEXDEST210=0b111 VEXDEST4=0b0 |
| |
| # No VEX-SPECIFIED-REGISTER for GATHERS/SCATTERS -- index reg 5th bit is VEXTDEST4 |
| NO_SPARSE_EVSR VEXDEST3=0b1 VEXDEST210=0b111 |
| |
| # These conflict w/another chip ... so if you ever build a combo |
| # model you'll have to remove these somehow. |
| # |
| EMX_BROADCAST_1TO16_32 BCAST=1 # 512 |
| EMX_BROADCAST_4TO16_32 BCAST=2 # 512 |
| EMX_BROADCAST_1TO8_64 BCAST=5 # 512 |
| EMX_BROADCAST_4TO8_64 BCAST=6 # 512 |
| |
| |
| |
| ###FILE: ./datafiles/avx512f/avx512-state-bits.txt |
| |
| #BEGIN_LEGAL |
| # |
| #Copyright (c) 2016 Intel Corporation |
| # |
| # Licensed under the Apache License, Version 2.0 (the "License"); |
| # you may not use this file except in compliance with the License. |
| # You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, software |
| # distributed under the License is distributed on an "AS IS" BASIS, |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| # See the License for the specific language governing permissions and |
| # limitations under the License. |
| # |
| #END_LEGAL |
| EVV VEXVALID=2 |
| |
| EMX_BROADCAST_1TO16_32 BCAST=1 # 512 |
| EMX_BROADCAST_4TO16_32 BCAST=2 # 512 |
| EMX_BROADCAST_1TO8_64 BCAST=5 # 512 |
| EMX_BROADCAST_4TO8_64 BCAST=6 # 512 |
| EMX_BROADCAST_2TO16_32 BCAST=7 # 512 |
| EMX_BROADCAST_2TO8_64 BCAST=8 # 512 |
| EMX_BROADCAST_8TO16_32 BCAST=9 # 512 |
| EMX_BROADCAST_1TO32_16 BCAST=16 # 512 |
| EMX_BROADCAST_1TO64_8 BCAST=19 # 512 |
| # these do not show up on earlier processors |
| EMX_BROADCAST_4TO8_32 BCAST=4 # 256 |
| EMX_BROADCAST_2TO4_32 BCAST=12 # 128 |
| EMX_BROADCAST_2TO8_32 BCAST=21 # 256 |
| EMX_BROADCAST_1TO2_32 BCAST=22 # 128 |
| |
| |
| ###FILE: ./datafiles/avx512-skx/skx-state-bits.txt |
| |
| #BEGIN_LEGAL |
| # |
| #Copyright (c) 2016 Intel Corporation |
| # |
| # Licensed under the Apache License, Version 2.0 (the "License"); |
| # you may not use this file except in compliance with the License. |
| # You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, software |
| # distributed under the License is distributed on an "AS IS" BASIS, |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| # See the License for the specific language governing permissions and |
| # limitations under the License. |
| # |
| #END_LEGAL |
| |
| EMX_BROADCAST_1TO2_8 BCAST=23 |
| EMX_BROADCAST_1TO4_8 BCAST=24 |
| EMX_BROADCAST_1TO8_8 BCAST=25 |
| |
| EMX_BROADCAST_1TO2_16 BCAST=26 |
| EMX_BROADCAST_1TO4_16 BCAST=27 |