Changeset 100598 in vbox for trunk/src/VBox/ValidationKit
- Timestamp:
- Jul 17, 2023 11:30:22 AM (20 months ago)
- svn:sync-xref-src-repo-rev:
- 158428
- Location:
- trunk/src/VBox/ValidationKit/bootsectors
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/ValidationKit/bootsectors/bs3-cpu-instr-3-template.mac
r100596 r100598 3221 3221 %endif 3222 3222 3223 ; 3224 ; [V]PSUBUSB 3225 ; 3226 EMIT_INSTR_PLUS_ICEBP psubusb, MM1, MM2 3227 EMIT_INSTR_PLUS_ICEBP psubusb, MM1, FSxBX 3228 EMIT_INSTR_PLUS_ICEBP psubusb, XMM1, XMM2 3229 EMIT_INSTR_PLUS_ICEBP psubusb, XMM1, FSxBX 3230 EMIT_INSTR_PLUS_ICEBP vpsubusb, XMM1, XMM2, XMM3 3231 EMIT_INSTR_PLUS_ICEBP vpsubusb, XMM1, XMM2, FSxBX 3232 EMIT_INSTR_PLUS_ICEBP vpsubusb, YMM1, YMM2, YMM3 3233 EMIT_INSTR_PLUS_ICEBP vpsubusb, YMM1, YMM2, FSxBX 3234 %if TMPL_BITS == 64 3235 EMIT_INSTR_PLUS_ICEBP psubusb, XMM8, XMM9 3236 EMIT_INSTR_PLUS_ICEBP psubusb, XMM8, FSxBX 3237 EMIT_INSTR_PLUS_ICEBP vpsubusb, XMM8, XMM9, XMM10 3238 EMIT_INSTR_PLUS_ICEBP vpsubusb, XMM8, XMM9, FSxBX 3239 EMIT_INSTR_PLUS_ICEBP vpsubusb, YMM8, YMM9, YMM10 3240 EMIT_INSTR_PLUS_ICEBP vpsubusb, YMM8, YMM9, FSxBX 3241 %endif 3242 3243 ; 3244 ; [V]PSUBUSW 3245 ; 3246 EMIT_INSTR_PLUS_ICEBP psubusw, MM1, MM2 3247 EMIT_INSTR_PLUS_ICEBP psubusw, MM1, FSxBX 3248 EMIT_INSTR_PLUS_ICEBP psubusw, XMM1, XMM2 3249 EMIT_INSTR_PLUS_ICEBP psubusw, XMM1, FSxBX 3250 EMIT_INSTR_PLUS_ICEBP vpsubusw, XMM1, XMM2, XMM3 3251 EMIT_INSTR_PLUS_ICEBP vpsubusw, XMM1, XMM2, FSxBX 3252 EMIT_INSTR_PLUS_ICEBP vpsubusw, YMM1, YMM2, YMM3 3253 EMIT_INSTR_PLUS_ICEBP vpsubusw, YMM1, YMM2, FSxBX 3254 %if TMPL_BITS == 64 3255 EMIT_INSTR_PLUS_ICEBP psubusw, XMM8, XMM9 3256 EMIT_INSTR_PLUS_ICEBP psubusw, XMM8, FSxBX 3257 EMIT_INSTR_PLUS_ICEBP vpsubusw, XMM8, XMM9, XMM10 3258 EMIT_INSTR_PLUS_ICEBP vpsubusw, XMM8, XMM9, FSxBX 3259 EMIT_INSTR_PLUS_ICEBP vpsubusw, YMM8, YMM9, YMM10 3260 EMIT_INSTR_PLUS_ICEBP vpsubusw, YMM8, YMM9, FSxBX 3261 %endif 3262 3223 3263 %endif ; BS3_INSTANTIATING_CMN 3224 3264 -
trunk/src/VBox/ValidationKit/bootsectors/bs3-cpu-instr-3.c32
r100596 r100598 8064 8064 { bs3CpuInstr3_vpsubsw_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 10, RT_ELEMENTS(s_aValues16), s_aValues16 }, 8065 8065 { bs3CpuInstr3_vpsubsw_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 8, 9, 255, RT_ELEMENTS(s_aValues16), s_aValues16 }, 8066 }; 8067 static BS3CPUINSTR3_TEST1_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST1_MODES_INIT(s_aTests16, s_aTests32, s_aTests64); 8068 unsigned const iTest = BS3CPUINSTR3_TEST_MODES_INDEX(bMode); 8069 return bs3CpuInstr3_WorkerTestType1(bMode, s_aTests[iTest].paTests, s_aTests[iTest].cTests, 8070 g_aXcptConfig4, RT_ELEMENTS(g_aXcptConfig4)); 8071 } 8072 8073 8074 /* 8075 * [V]PSUBUSB/[V]PSUBUSW - Subtract paced unsigned integers with unsigned saturation. 8076 */ 8077 BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_psubusb_MM1_MM2_icebp); 8078 BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_psubusb_MM1_FSxBX_icebp); 8079 BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_psubusb_XMM1_XMM2_icebp); 8080 BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_psubusb_XMM1_FSxBX_icebp); 8081 extern FNBS3FAR bs3CpuInstr3_psubusb_XMM8_XMM9_icebp_c64; 8082 extern FNBS3FAR bs3CpuInstr3_psubusb_XMM8_FSxBX_icebp_c64; 8083 BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vpsubusb_XMM1_XMM2_XMM3_icebp); 8084 BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vpsubusb_XMM1_XMM2_FSxBX_icebp); 8085 extern FNBS3FAR bs3CpuInstr3_vpsubusb_XMM8_XMM9_XMM10_icebp_c64; 8086 extern FNBS3FAR bs3CpuInstr3_vpsubusb_XMM8_XMM9_FSxBX_icebp_c64; 8087 BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vpsubusb_YMM1_YMM2_YMM3_icebp); 8088 BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vpsubusb_YMM1_YMM2_FSxBX_icebp); 8089 extern FNBS3FAR bs3CpuInstr3_vpsubusb_YMM8_YMM9_YMM10_icebp_c64; 8090 extern FNBS3FAR bs3CpuInstr3_vpsubusb_YMM8_YMM9_FSxBX_icebp_c64; 8091 8092 BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_psubusw_MM1_MM2_icebp); 8093 BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_psubusw_MM1_FSxBX_icebp); 8094 BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_psubusw_XMM1_XMM2_icebp); 8095 BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_psubusw_XMM1_FSxBX_icebp); 8096 extern FNBS3FAR bs3CpuInstr3_psubusw_XMM8_XMM9_icebp_c64; 8097 extern FNBS3FAR bs3CpuInstr3_psubusw_XMM8_FSxBX_icebp_c64; 8098 BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vpsubusw_XMM1_XMM2_XMM3_icebp); 8099 BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vpsubusw_XMM1_XMM2_FSxBX_icebp); 8100 extern FNBS3FAR bs3CpuInstr3_vpsubusw_XMM8_XMM9_XMM10_icebp_c64; 8101 extern FNBS3FAR bs3CpuInstr3_vpsubusw_XMM8_XMM9_FSxBX_icebp_c64; 8102 BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vpsubusw_YMM1_YMM2_YMM3_icebp); 8103 BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vpsubusw_YMM1_YMM2_FSxBX_icebp); 8104 extern FNBS3FAR bs3CpuInstr3_vpsubusw_YMM8_YMM9_YMM10_icebp_c64; 8105 extern FNBS3FAR bs3CpuInstr3_vpsubusw_YMM8_YMM9_FSxBX_icebp_c64; 8106 8107 BS3_DECL_FAR(uint8_t) bs3CpuInstr3_v_psubusb_psubusw(uint8_t bMode) 8108 { 8109 static BS3CPUINSTR3_TEST1_VALUES_T const s_aValues8[] = 8110 { 8111 { /*src2*/ RTUINT256_INIT_C(0, 0, 0, 0), 8112 /*src1*/ RTUINT256_INIT_C(0, 0, 0, 0), 8113 /* => */ RTUINT256_INIT_C(0, 0, 0, 0) }, 8114 { /*src2*/ RTUINT256_INIT_C(0xf1f2f3f4f5f6f7f8, 0xe1e2e3e4e5e6e7e8, 0xd1d2d3d4d5d6d7d8, 0xc1c2c3c4c5c6c7c8), 8115 /*src1*/ RTUINT256_INIT_C(0xb1b2b3b4b5b6b7b8, 0xa1a2a3a4a5a6a7a8, 0x9192939495969798, 0x8182838485868788), 8116 /* => */ RTUINT256_INIT_C(0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000) }, 8117 { /*src2*/ RTUINT256_INIT_C(0x4d09f02a6cdc73d5, 0x3ef417c8666b3fe6, 0xb4212fa8564c9ba2, 0x9c5ce073930996bb), 8118 /*src1*/ RTUINT256_INIT_C(0x1eddddac09633294, 0xf95c8eec40725633, 0x8800e95bbf9962c3, 0x43d3cda0238499fd), 8119 /* => */ RTUINT256_INIT_C(0x00d4008200000000, 0xbb00772400071700, 0x0000ba00694d0021, 0x0077002d007b0342) }, 8120 }; 8121 8122 static BS3CPUINSTR3_TEST1_VALUES_T const s_aValues16[] = 8123 { 8124 { /*src2*/ RTUINT256_INIT_C(0, 0, 0, 0), 8125 /*src1*/ RTUINT256_INIT_C(0, 0, 0, 0), 8126 /* => */ RTUINT256_INIT_C(0, 0, 0, 0) }, 8127 { /*src2*/ RTUINT256_INIT_C(0xf1f2f3f4f5f6f7f8, 0xe1e2e3e4e5e6e7e8, 0xd1d2d3d4d5d6d7d8, 0xc1c2c3c4c5c6c7c8), 8128 /*src1*/ RTUINT256_INIT_C(0xb1b2b3b4b5b6b7b8, 0xa1a2a3a4a5a6a7a8, 0x9192939495969798, 0x8182838485868788), 8129 /* => */ RTUINT256_INIT_C(0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000) }, 8130 { /*src2*/ RTUINT256_INIT_C(0x4d09f02a6cdc73d5, 0x3ef417c8666b3fe6, 0xb4212fa8564c9ba2, 0x9c5ce073930996bb), 8131 /*src1*/ RTUINT256_INIT_C(0x1eddddac09633294, 0xf95c8eec40725633, 0x8800e95bbf9962c3, 0x43d3cda0238499fd), 8132 /* => */ RTUINT256_INIT_C(0x0000000000000000, 0xba6877240000164d, 0x0000b9b3694d0000, 0x0000000000000342) }, 8133 }; 8134 8135 static BS3CPUINSTR3_TEST1_T const s_aTests16[] = 8136 { 8137 { bs3CpuInstr3_psubusb_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues8), s_aValues8 }, 8138 { bs3CpuInstr3_psubusb_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValues8), s_aValues8 }, 8139 { bs3CpuInstr3_psubusb_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues8), s_aValues8 }, 8140 { bs3CpuInstr3_psubusb_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValues8), s_aValues8 }, 8141 { bs3CpuInstr3_vpsubusb_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues8), s_aValues8 }, 8142 { bs3CpuInstr3_vpsubusb_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues8), s_aValues8 }, 8143 { bs3CpuInstr3_vpsubusb_YMM1_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues8), s_aValues8 }, 8144 { bs3CpuInstr3_vpsubusb_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues8), s_aValues8 }, 8145 8146 { bs3CpuInstr3_psubusw_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues16), s_aValues16 }, 8147 { bs3CpuInstr3_psubusw_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValues16), s_aValues16 }, 8148 { bs3CpuInstr3_psubusw_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues16), s_aValues16 }, 8149 { bs3CpuInstr3_psubusw_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValues16), s_aValues16 }, 8150 { bs3CpuInstr3_vpsubusw_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues16), s_aValues16 }, 8151 { bs3CpuInstr3_vpsubusw_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues16), s_aValues16 }, 8152 { bs3CpuInstr3_vpsubusw_YMM1_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues16), s_aValues16 }, 8153 { bs3CpuInstr3_vpsubusw_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues16), s_aValues16 }, 8154 }; 8155 static BS3CPUINSTR3_TEST1_T const s_aTests32[] = 8156 { 8157 { bs3CpuInstr3_psubusb_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues8), s_aValues8 }, 8158 { bs3CpuInstr3_psubusb_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValues8), s_aValues8 }, 8159 { bs3CpuInstr3_psubusb_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues8), s_aValues8 }, 8160 { bs3CpuInstr3_psubusb_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValues8), s_aValues8 }, 8161 { bs3CpuInstr3_vpsubusb_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues8), s_aValues8 }, 8162 { bs3CpuInstr3_vpsubusb_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues8), s_aValues8 }, 8163 { bs3CpuInstr3_vpsubusb_YMM1_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues8), s_aValues8 }, 8164 { bs3CpuInstr3_vpsubusb_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues8), s_aValues8 }, 8165 8166 { bs3CpuInstr3_psubusw_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues16), s_aValues16 }, 8167 { bs3CpuInstr3_psubusw_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValues16), s_aValues16 }, 8168 { bs3CpuInstr3_psubusw_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues16), s_aValues16 }, 8169 { bs3CpuInstr3_psubusw_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValues16), s_aValues16 }, 8170 { bs3CpuInstr3_vpsubusw_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues16), s_aValues16 }, 8171 { bs3CpuInstr3_vpsubusw_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues16), s_aValues16 }, 8172 { bs3CpuInstr3_vpsubusw_YMM1_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues16), s_aValues16 }, 8173 { bs3CpuInstr3_vpsubusw_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues16), s_aValues16 }, 8174 }; 8175 static BS3CPUINSTR3_TEST1_T const s_aTests64[] = 8176 { 8177 { bs3CpuInstr3_psubusb_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues8), s_aValues8 }, 8178 { bs3CpuInstr3_psubusb_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValues8), s_aValues8 }, 8179 { bs3CpuInstr3_psubusb_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues8), s_aValues8 }, 8180 { bs3CpuInstr3_psubusb_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValues8), s_aValues8 }, 8181 { bs3CpuInstr3_psubusb_XMM8_XMM9_icebp_c64, 255, RM_REG, T_SSE2, 8, 8, 9, RT_ELEMENTS(s_aValues8), s_aValues8 }, 8182 { bs3CpuInstr3_psubusb_XMM8_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, 8, 8, 255, RT_ELEMENTS(s_aValues8), s_aValues8 }, 8183 { bs3CpuInstr3_vpsubusb_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues8), s_aValues8 }, 8184 { bs3CpuInstr3_vpsubusb_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues8), s_aValues8 }, 8185 { bs3CpuInstr3_vpsubusb_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 10, RT_ELEMENTS(s_aValues8), s_aValues8 }, 8186 { bs3CpuInstr3_vpsubusb_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 8, 9, 255, RT_ELEMENTS(s_aValues8), s_aValues8 }, 8187 { bs3CpuInstr3_vpsubusb_YMM1_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues8), s_aValues8 }, 8188 { bs3CpuInstr3_vpsubusb_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues8), s_aValues8 }, 8189 { bs3CpuInstr3_vpsubusb_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 10, RT_ELEMENTS(s_aValues8), s_aValues8 }, 8190 { bs3CpuInstr3_vpsubusb_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 8, 9, 255, RT_ELEMENTS(s_aValues8), s_aValues8 }, 8191 8192 { bs3CpuInstr3_psubusw_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues16), s_aValues16 }, 8193 { bs3CpuInstr3_psubusw_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValues16), s_aValues16 }, 8194 { bs3CpuInstr3_psubusw_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues16), s_aValues16 }, 8195 { bs3CpuInstr3_psubusw_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValues16), s_aValues16 }, 8196 { bs3CpuInstr3_psubusw_XMM8_XMM9_icebp_c64, 255, RM_REG, T_SSE2, 8, 8, 9, RT_ELEMENTS(s_aValues16), s_aValues16 }, 8197 { bs3CpuInstr3_psubusw_XMM8_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, 8, 8, 255, RT_ELEMENTS(s_aValues16), s_aValues16 }, 8198 { bs3CpuInstr3_vpsubusw_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues16), s_aValues16 }, 8199 { bs3CpuInstr3_vpsubusw_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues16), s_aValues16 }, 8200 { bs3CpuInstr3_vpsubusw_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 10, RT_ELEMENTS(s_aValues16), s_aValues16 }, 8201 { bs3CpuInstr3_vpsubusw_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 8, 9, 255, RT_ELEMENTS(s_aValues16), s_aValues16 }, 8202 { bs3CpuInstr3_vpsubusw_YMM1_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues16), s_aValues16 }, 8203 { bs3CpuInstr3_vpsubusw_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues16), s_aValues16 }, 8204 { bs3CpuInstr3_vpsubusw_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 10, RT_ELEMENTS(s_aValues16), s_aValues16 }, 8205 { bs3CpuInstr3_vpsubusw_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 8, 9, 255, RT_ELEMENTS(s_aValues16), s_aValues16 }, 8066 8206 }; 8067 8207 static BS3CPUINSTR3_TEST1_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST1_MODES_INIT(s_aTests16, s_aTests32, s_aTests64); … … 13075 13215 #if defined (ALL_TESTS) 13076 13216 { "[v]psubsb/[v]psubsw", bs3CpuInstr3_v_psubsb_psubsw, 0 }, 13217 { "[v]psubusb/[v]psubusw", bs3CpuInstr3_v_psubusb_psubusw, 0 }, 13077 13218 #endif 13078 13219 };
Note:
See TracChangeset
for help on using the changeset viewer.