VirtualBox

Changeset 107144 in vbox for trunk


Ignore:
Timestamp:
Nov 26, 2024 10:32:33 AM (2 months ago)
Author:
vboxsync
Message:

ValidationKit/bootsectors: Implement testcases for vpermd instruction; bugref:9898; jiraref:VBP-1464

Location:
trunk/src/VBox/ValidationKit/bootsectors
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/ValidationKit/bootsectors/bs3-cpu-instr-3-template.mac

    r107141 r107144  
    33163316
    33173317;
     3318; VPERMD
     3319;
     3320EMIT_INSTR_PLUS_ICEBP     vpermd, YMM1, YMM2, YMM3
     3321EMIT_INSTR_PLUS_ICEBP     vpermd, YMM1, YMM2, FSxBX
     3322EMIT_INSTR_PLUS_ICEBP_C64 vpermd, YMM8, YMM9, YMM10
     3323EMIT_INSTR_PLUS_ICEBP_C64 vpermd, YMM8, YMM9, FSxBX
     3324EMIT_INSTR_PLUS_ICEBP     vpermd, YMM1, YMM2, YMM2
     3325EMIT_INSTR_PLUS_ICEBP     vpermd, YMM1, YMM1, YMM2
     3326EMIT_INSTR_PLUS_ICEBP     vpermd, YMM1, YMM2, YMM1
     3327EMIT_INSTR_PLUS_ICEBP     vpermd, YMM1, YMM1, YMM1
     3328EMIT_INSTR_PLUS_ICEBP     vpermd, YMM1, YMM1, FSxBX
     3329
     3330;
    33183331; VPERMQ
    33193332;
  • trunk/src/VBox/ValidationKit/bootsectors/bs3-cpu-instr-3.c32

    r107141 r107144  
    64246424 * VPERMPS - Permute Single Precision Floating-Point Values
    64256425 */
    6426 BS3_DECL_FAR(uint8_t) bs3CpuInstr3_vpermps(uint8_t bMode)
     6426BS3_DECL_FAR(uint8_t) bs3CpuInstr3_vpermd_vpermps(uint8_t bMode)
    64276427{
    64286428    static BS3CPUINSTR3_TEST1_VALUES_T const s_aValues[] =
     
    64536453    static BS3CPUINSTR3_TEST1_T const s_aTests[] =
    64546454    {
     6455        {  BS3_INSTR3_ALL(vpermd_YMM1_YMM2_YMM3),   255,         RM_REG, T_AVX2_256, YMM1, YMM2, YMM3,  PASS_ARRAY(s_aValues)   },
     6456        {  BS3_INSTR3_ALL(vpermd_YMM1_YMM2_FSxBX),  X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ARRAY(s_aValues)   },
     6457
     6458        {  BS3_INSTR3_C64(vpermd_YMM8_YMM9_YMM10),  255,         RM_REG, T_AVX2_256, YMM8, YMM9, YMM10, PASS_ARRAY(s_aValues)   },
     6459        {  BS3_INSTR3_C64(vpermd_YMM8_YMM9_FSxBX),  X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM8, YMM9, FSxBX, PASS_ARRAY(s_aValues)   },
     6460
     6461        {  BS3_INSTR3_ALL(vpermd_YMM1_YMM2_YMM2),   255,         RM_REG, T_AVX2_256, YMM1, YMM2, NOREG, PASS_ARRAY(s_aValuesSR) },
     6462        {  BS3_INSTR3_ALL(vpermd_YMM1_YMM1_YMM2),   255,         RM_REG, T_AVX2_256, YMM1, YMM1, YMM2,  PASS_ARRAY(s_aValues)   },
     6463        {  BS3_INSTR3_ALL(vpermd_YMM1_YMM2_YMM1),   255,         RM_REG, T_AVX2_256, YMM1, YMM2, YMM1,  PASS_ARRAY(s_aValues)   },
     6464        {  BS3_INSTR3_ALL(vpermd_YMM1_YMM1_YMM1),   255,         RM_REG, T_AVX2_256, YMM1, YMM1, NOREG, PASS_ARRAY(s_aValuesSR) },
     6465        {  BS3_INSTR3_ALL(vpermd_YMM1_YMM1_FSxBX),  X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM1, FSxBX, PASS_ARRAY(s_aValues)   },
     6466
    64556467        {  BS3_INSTR3_ALL(vpermps_YMM1_YMM2_YMM3),  255,         RM_REG, T_AVX2_256, YMM1, YMM2, YMM3,  PASS_ARRAY(s_aValues)   },
    64566468        {  BS3_INSTR3_ALL(vpermps_YMM1_YMM2_FSxBX), X86_XCPT_DB, RM_MEM, T_AVX2_256, YMM1, YMM2, FSxBX, PASS_ARRAY(s_aValues)   },
     
    1158411596        { "vpermilps",                                      bs3CpuInstr3_vpermilps, 0 },
    1158511597        { "vpermilpd",                                      bs3CpuInstr3_vpermilpd, 0 },
    11586         { "vpermps",                                        bs3CpuInstr3_vpermps, 0 },
     11598        { "vpermd/vpermps",                                 bs3CpuInstr3_vpermd_vpermps, 0 },
    1158711599        { "vpermq/vpermpd",                                 bs3CpuInstr3_vpermq_vpermpd, 0 },
    1158811600#endif
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette