Skip to content

Commit c57d084

Browse files
committed
VCVTDQ2PD & VCVTUDQ2PD: allow evex.b=1 (ignored rounding/sae) and fix VL
* part of #233 (cherry picked from commit 0fb6f8655cf67c9b59e0b7cf7048e22d989f9a84)
1 parent e86b519 commit c57d084

File tree

2 files changed

+10
-2
lines changed

2 files changed

+10
-2
lines changed

datafiles/avx512-skx/skx-isa.xed.txt

+2-2
Original file line numberDiff line numberDiff line change
@@ -2471,7 +2471,7 @@ ISA_SET: AVX512DQ_512
24712471
EXCEPTIONS: AVX512-E2
24722472
REAL_OPCODE: Y
24732473
ATTRIBUTES: MASKOP_EVEX MXCSR
2474-
PATTERN: EVV 0xE6 VF3 V0F MOD[0b11] MOD=3 BCRC=1 REG[rrr] RM[nnn] FIX_ROUND_LEN512() AVX512_ROUND() W1 NOEVSR
2474+
PATTERN: EVV 0xE6 VF3 V0F MOD[0b11] MOD=3 BCRC=1 REG[rrr] RM[nnn] W1 NOEVSR FIX_ROUND_LEN512() AVX512_ROUND()
24752475
OPERANDS: REG0=ZMM_R3():w:zi64:TXT=ROUNDC REG1=MASK1():r:mskw:TXT=ZEROSTR REG2=ZMM_B3():r:zf64
24762476
IFORM: VCVTQQ2PD_ZMMi64_MASKmskw_ZMMf64_AVX512
24772477
}
@@ -3455,7 +3455,7 @@ ISA_SET: AVX512DQ_512
34553455
EXCEPTIONS: AVX512-E2
34563456
REAL_OPCODE: Y
34573457
ATTRIBUTES: MASKOP_EVEX MXCSR
3458-
PATTERN: EVV 0x7A VF3 V0F MOD[0b11] MOD=3 BCRC=1 REG[rrr] RM[nnn] FIX_ROUND_LEN512() AVX512_ROUND() W1 NOEVSR
3458+
PATTERN: EVV 0x7A VF3 V0F MOD[0b11] MOD=3 BCRC=1 REG[rrr] RM[nnn] W1 NOEVSR FIX_ROUND_LEN512() AVX512_ROUND()
34593459
OPERANDS: REG0=ZMM_R3():w:zf64:TXT=ROUNDC REG1=MASK1():r:mskw:TXT=ZEROSTR REG2=ZMM_B3():r:zu64
34603460
IFORM: VCVTUQQ2PD_ZMMf64_MASKmskw_ZMMu64_AVX512
34613461
}

datafiles/avx512f/avx512-foundation-isa.xed.txt

+8
Original file line numberDiff line numberDiff line change
@@ -796,6 +796,10 @@ ATTRIBUTES: MASKOP_EVEX
796796
PATTERN: EVV 0xE6 VF3 V0F MOD[0b11] MOD=3 BCRC=0 REG[rrr] RM[nnn] VL512 W0 NOEVSR
797797
OPERANDS: REG0=ZMM_R3():w:zf64 REG1=MASK1():r:mskw:TXT=ZEROSTR REG2=YMM_B3():r:qq:i32
798798
IFORM: VCVTDQ2PD_ZMMf64_MASKmskw_YMMi32_AVX512
799+
COMMENT: ignores rc/sae. need to adjust VL to 512
800+
PATTERN: EVV 0xE6 VF3 V0F MOD[0b11] MOD=3 BCRC=1 REG[rrr] RM[nnn] W0 NOEVSR FIX_ROUND_LEN512()
801+
OPERANDS: REG0=ZMM_R3():w:zf64 REG1=MASK1():r:mskw:TXT=ZEROSTR REG2=YMM_B3():r:qq:i32
802+
IFORM: VCVTDQ2PD_ZMMf64_MASKmskw_YMMi32_AVX512
799803
}
800804

801805
{
@@ -2440,6 +2444,10 @@ ATTRIBUTES: MASKOP_EVEX
24402444
PATTERN: EVV 0x7A VF3 V0F MOD[0b11] MOD=3 BCRC=0 REG[rrr] RM[nnn] VL512 W0 NOEVSR
24412445
OPERANDS: REG0=ZMM_R3():w:zf64 REG1=MASK1():r:mskw:TXT=ZEROSTR REG2=YMM_B3():r:qq:u32
24422446
IFORM: VCVTUDQ2PD_ZMMf64_MASKmskw_YMMu32_AVX512
2447+
COMMENT: ignores rc/sae. need to adjust VL to 512
2448+
PATTERN: EVV 0x7A VF3 V0F MOD[0b11] MOD=3 BCRC=1 REG[rrr] RM[nnn] W0 NOEVSR FIX_ROUND_LEN512()
2449+
OPERANDS: REG0=ZMM_R3():w:zf64 REG1=MASK1():r:mskw:TXT=ZEROSTR REG2=YMM_B3():r:qq:u32
2450+
IFORM: VCVTUDQ2PD_ZMMf64_MASKmskw_YMMu32_AVX512
24432451
}
24442452

24452453
{

0 commit comments

Comments
 (0)