golang.org/x/arch@v0.17.0/x86/x86avxgen/testdata/xedpath/all-state.txt (about)

     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
    29  not64                  MODE!=2
    30  mode64                 MODE=2
    31  mode32                 MODE=1
    32  mode16                 MODE=0
    33  
    34  # effective addressing mode
    35  eanot16               EASZ!=1
    36  eamode16              EASZ=1
    37  eamode32              EASZ=2
    38  eamode64              EASZ=3
    39  
    40  # stack addressing mode
    41  smode16               SMODE=0
    42  smode32               SMODE=1
    43  smode64               SMODE=2
    44  
    45  eosz8                 EOSZ=0
    46  eosz16                EOSZ=1
    47  not_eosz16            EOSZ!=1
    48  eosz32                EOSZ=2
    49  eosz64                EOSZ=3
    50  eosznot64             EOSZ!=3
    51  
    52  
    53  # for OD expansion in graph partitioning FIXME
    54  mod0                MOD=0
    55  mod1                MOD=1
    56  mod2                MOD=2
    57  mod3                MOD=3
    58  
    59  rex_reqd                REX=1
    60  no_rex                  REX=0
    61  reset_rex              REX=0 REXW=0 REXB=0 REXR=0 REXX=0
    62  
    63  rexb_prefix             REXB=1
    64  rexx_prefix             REXX=1
    65  rexr_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  #
    70  rexw_prefix            REXW=1 SKIP_OSZ=1
    71  norexw_prefix          REXW=0 SKIP_OSZ=1
    72  W1                     REXW=1 SKIP_OSZ=1
    73  W0                     REXW=0 SKIP_OSZ=1
    74  
    75  norexb_prefix             REXB=0
    76  norexx_prefix             REXX=0
    77  norexr_prefix             REXR=0
    78  ############################################################3333
    79  f2_prefix              REP=2  # REPNZ, REPNE
    80  f3_prefix              REP=3  # REPZ,  REPE
    81  repne                  REP=2
    82  repe                   REP=3
    83  norep                  REP=0
    84  66_prefix              OSZ=1
    85  nof3_prefix            REP!=3
    86  no66_prefix            OSZ=0
    87  not_refining           REP=0 # dummy setting for state values 2007-08-06 FIXME
    88  refining_f2            REP=2
    89  refining_f3            REP=3
    90  not_refining_f3        REP!=3 # for pause vs xchg
    91  no_refining_prefix     REP=0 OSZ=0  # critical:REP must  be first for decoding partitioning
    92  osz_refining_prefix    REP=0 OSZ=1
    93  f2_refining_prefix     REP=2
    94  f3_refining_prefix     REP=3
    95  
    96  no67_prefix             ASZ=0
    97  67_prefix               ASZ=1
    98  
    99  lock_prefix             LOCK=1
   100  nolock_prefix           LOCK=0
   101  
   102  default_ds              DEFAULT_SEG=0
   103  default_ss              DEFAULT_SEG=1
   104  default_es              DEFAULT_SEG=2 # for string ops
   105  no_seg_prefix           SEG_OVD=0
   106  some_seg_prefix         SEG_OVD!=0
   107  cs_prefix               SEG_OVD=1
   108  ds_prefix               SEG_OVD=2
   109  es_prefix               SEG_OVD=3
   110  fs_prefix               SEG_OVD=4
   111  gs_prefix               SEG_OVD=5
   112  ss_prefix               SEG_OVD=6
   113  
   114  # default (or not) to 64b width in 64b mode
   115  nrmw                   DF64=0
   116  df64                   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!
   121  enc                    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
   125  no_return              NO_RETURN=1
   126  
   127  # indicate an encoding or decoding error occurred
   128  error                  ERROR=XED_ERROR_GENERAL_ERROR
   129  
   130  # dummy constraint which always satisfies
   131  true                   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  
   154  XMAP8  MAP=8
   155  XMAP9  MAP=9
   156  XMAPA  MAP=10
   157  
   158  XOPV   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
   180  VL128  VL=0
   181  VL256  VL=1
   182  
   183  VV1    VEXVALID=1
   184  VV0    VEXVALID=0
   185  
   186  VMAP0  MAP=0
   187  V0F    MAP=1
   188  V0F38  MAP=2
   189  V0F3A  MAP=3
   190  
   191  VNP    VEX_PREFIX=0
   192  V66    VEX_PREFIX=1
   193  VF2    VEX_PREFIX=2
   194  VF3    VEX_PREFIX=3
   195  
   196  # No VEX-SPECIFIED-REGISTER
   197  NOVSR  VEXDEST3=0b1 VEXDEST210=0b111
   198  
   199  EMX_BROADCAST_1TO4_32  BCAST=10   #     128
   200  EMX_BROADCAST_1TO4_64  BCAST=13   #     256
   201  EMX_BROADCAST_1TO8_32  BCAST=3    #     256
   202  EMX_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  
   227  EMX_BROADCAST_1TO2_64  BCAST=11   #         128
   228  EMX_BROADCAST_1TO8_16   BCAST=14  #         128
   229  EMX_BROADCAST_1TO16_16  BCAST=15  #     256
   230  EMX_BROADCAST_1TO16_8   BCAST=17  #         128
   231  EMX_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  
   256  VL512 VL=2
   257  VLBAD VL=3 # unused VL setting to cause things not to decode.
   258  
   259  # KNC EVEX is KVV
   260  #
   261  KVV   VEXVALID=4
   262  
   263  # No VEX-SPECIFIED-REGISTER
   264  NOEVSR  VEXDEST3=0b1 VEXDEST210=0b111 VEXDEST4=0b0
   265  
   266  # No VEX-SPECIFIED-REGISTER for GATHERS/SCATTERS -- index reg 5th bit is VEXTDEST4
   267  NO_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  #
   272  EMX_BROADCAST_1TO16_32 BCAST=1      # 512
   273  EMX_BROADCAST_4TO16_32 BCAST=2      # 512
   274  EMX_BROADCAST_1TO8_64  BCAST=5      # 512
   275  EMX_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
   298  EVV VEXVALID=2
   299  
   300  EMX_BROADCAST_1TO16_32 BCAST=1      # 512
   301  EMX_BROADCAST_4TO16_32 BCAST=2      # 512
   302  EMX_BROADCAST_1TO8_64  BCAST=5      # 512
   303  EMX_BROADCAST_4TO8_64  BCAST=6      # 512
   304  EMX_BROADCAST_2TO16_32 BCAST=7      # 512
   305  EMX_BROADCAST_2TO8_64  BCAST=8      # 512
   306  EMX_BROADCAST_8TO16_32 BCAST=9      # 512
   307  EMX_BROADCAST_1TO32_16  BCAST=16  # 512
   308  EMX_BROADCAST_1TO64_8   BCAST=19  # 512
   309  # these do not show up on earlier processors
   310  EMX_BROADCAST_4TO8_32  BCAST=4      #     256
   311  EMX_BROADCAST_2TO4_32  BCAST=12   #         128
   312  EMX_BROADCAST_2TO8_32  BCAST=21   #     256
   313  EMX_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  
   336  EMX_BROADCAST_1TO2_8   BCAST=23
   337  EMX_BROADCAST_1TO4_8   BCAST=24
   338  EMX_BROADCAST_1TO8_8   BCAST=25
   339  
   340  EMX_BROADCAST_1TO2_16   BCAST=26
   341  EMX_BROADCAST_1TO4_16   BCAST=27