#BEGIN_LEGAL # #Copyright (c) 2022 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 xed_reg_enum_t MASK1():: MASK=0x0 | OUTREG=XED_REG_K0 MASK=0x1 | OUTREG=XED_REG_K1 MASK=0x2 | OUTREG=XED_REG_K2 MASK=0x3 | OUTREG=XED_REG_K3 MASK=0x4 | OUTREG=XED_REG_K4 MASK=0x5 | OUTREG=XED_REG_K5 MASK=0x6 | OUTREG=XED_REG_K6 MASK=0x7 | OUTREG=XED_REG_K7 xed_reg_enum_t MASKNOT0():: MASK=0x0 | OUTREG=XED_REG_ERROR MASK=0x1 | OUTREG=XED_REG_K1 MASK=0x2 | OUTREG=XED_REG_K2 MASK=0x3 | OUTREG=XED_REG_K3 MASK=0x4 | OUTREG=XED_REG_K4 MASK=0x5 | OUTREG=XED_REG_K5 MASK=0x6 | OUTREG=XED_REG_K6 MASK=0x7 | OUTREG=XED_REG_K7 # used for compares in EVEX xed_reg_enum_t MASK_R():: REXR4=0 REXR=0 REG=0x0 | OUTREG=XED_REG_K0 REXR4=0 REXR=0 REG=0x1 | OUTREG=XED_REG_K1 REXR4=0 REXR=0 REG=0x2 | OUTREG=XED_REG_K2 REXR4=0 REXR=0 REG=0x3 | OUTREG=XED_REG_K3 REXR4=0 REXR=0 REG=0x4 | OUTREG=XED_REG_K4 REXR4=0 REXR=0 REG=0x5 | OUTREG=XED_REG_K5 REXR4=0 REXR=0 REG=0x6 | OUTREG=XED_REG_K6 REXR4=0 REXR=0 REG=0x7 | OUTREG=XED_REG_K7 # MASK_B is used by VEX and EVEX encodings. SDM (rev 062) states in # EVEX, EVEX.B (REXB) is ignored. SDM does not (yet) say what happens # on VEX.B but assuming it is similar. xed_reg_enum_t MASK_B():: RM=0x0 | OUTREG=XED_REG_K0 RM=0x1 | OUTREG=XED_REG_K1 RM=0x2 | OUTREG=XED_REG_K2 RM=0x3 | OUTREG=XED_REG_K3 RM=0x4 | OUTREG=XED_REG_K4 RM=0x5 | OUTREG=XED_REG_K5 RM=0x6 | OUTREG=XED_REG_K6 RM=0x7 | OUTREG=XED_REG_K7 # only used in VEX space for K-mask ops # stored inverted xed_reg_enum_t MASK_N():: mode64 | OUTREG=MASK_N64() mode32 | OUTREG=MASK_N32() mode16 | OUTREG=MASK_N32() xed_reg_enum_t MASK_N64():: VEXDEST3=1 VEXDEST210=0x0 | OUTREG=XED_REG_K7 VEXDEST3=1 VEXDEST210=0x1 | OUTREG=XED_REG_K6 VEXDEST3=1 VEXDEST210=0x2 | OUTREG=XED_REG_K5 VEXDEST3=1 VEXDEST210=0x3 | OUTREG=XED_REG_K4 VEXDEST3=1 VEXDEST210=0x4 | OUTREG=XED_REG_K3 VEXDEST3=1 VEXDEST210=0x5 | OUTREG=XED_REG_K2 VEXDEST3=1 VEXDEST210=0x6 | OUTREG=XED_REG_K1 VEXDEST3=1 VEXDEST210=0x7 | OUTREG=XED_REG_K0 xed_reg_enum_t MASK_N32():: VEXDEST210=0x0 | OUTREG=XED_REG_K7 VEXDEST210=0x1 | OUTREG=XED_REG_K6 VEXDEST210=0x2 | OUTREG=XED_REG_K5 VEXDEST210=0x3 | OUTREG=XED_REG_K4 VEXDEST210=0x4 | OUTREG=XED_REG_K3 VEXDEST210=0x5 | OUTREG=XED_REG_K2 VEXDEST210=0x6 | OUTREG=XED_REG_K1 VEXDEST210=0x7 | OUTREG=XED_REG_K0