...

Text file src/golang.org/x/arch/x86/x86avxgen/testdata/xedpath/all-state.txt

Documentation: golang.org/x/arch/x86/x86avxgen/testdata/xedpath

     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