Changeset 100600 in vbox for trunk/src/VBox/ValidationKit
- Timestamp:
- Jul 17, 2023 11:51:38 AM (18 months ago)
- Location:
- trunk/src/VBox/ValidationKit/bootsectors
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/ValidationKit/bootsectors/bs3-cpu-instr-3-template.mac
r100598 r100600 3261 3261 %endif 3262 3262 3263 ; 3264 ; [V]PADDUSB 3265 ; 3266 EMIT_INSTR_PLUS_ICEBP paddusb, MM1, MM2 3267 EMIT_INSTR_PLUS_ICEBP paddusb, MM1, FSxBX 3268 EMIT_INSTR_PLUS_ICEBP paddusb, XMM1, XMM2 3269 EMIT_INSTR_PLUS_ICEBP paddusb, XMM1, FSxBX 3270 EMIT_INSTR_PLUS_ICEBP vpaddusb, XMM1, XMM2, XMM3 3271 EMIT_INSTR_PLUS_ICEBP vpaddusb, XMM1, XMM2, FSxBX 3272 EMIT_INSTR_PLUS_ICEBP vpaddusb, YMM1, YMM2, YMM3 3273 EMIT_INSTR_PLUS_ICEBP vpaddusb, YMM1, YMM2, FSxBX 3274 %if TMPL_BITS == 64 3275 EMIT_INSTR_PLUS_ICEBP paddusb, XMM8, XMM9 3276 EMIT_INSTR_PLUS_ICEBP paddusb, XMM8, FSxBX 3277 EMIT_INSTR_PLUS_ICEBP vpaddusb, XMM8, XMM9, XMM10 3278 EMIT_INSTR_PLUS_ICEBP vpaddusb, XMM8, XMM9, FSxBX 3279 EMIT_INSTR_PLUS_ICEBP vpaddusb, YMM8, YMM9, YMM10 3280 EMIT_INSTR_PLUS_ICEBP vpaddusb, YMM8, YMM9, FSxBX 3281 %endif 3282 3283 ; 3284 ; [V]PADDUSW 3285 ; 3286 EMIT_INSTR_PLUS_ICEBP paddusw, MM1, MM2 3287 EMIT_INSTR_PLUS_ICEBP paddusw, MM1, FSxBX 3288 EMIT_INSTR_PLUS_ICEBP paddusw, XMM1, XMM2 3289 EMIT_INSTR_PLUS_ICEBP paddusw, XMM1, FSxBX 3290 EMIT_INSTR_PLUS_ICEBP vpaddusw, XMM1, XMM2, XMM3 3291 EMIT_INSTR_PLUS_ICEBP vpaddusw, XMM1, XMM2, FSxBX 3292 EMIT_INSTR_PLUS_ICEBP vpaddusw, YMM1, YMM2, YMM3 3293 EMIT_INSTR_PLUS_ICEBP vpaddusw, YMM1, YMM2, FSxBX 3294 %if TMPL_BITS == 64 3295 EMIT_INSTR_PLUS_ICEBP paddusw, XMM8, XMM9 3296 EMIT_INSTR_PLUS_ICEBP paddusw, XMM8, FSxBX 3297 EMIT_INSTR_PLUS_ICEBP vpaddusw, XMM8, XMM9, XMM10 3298 EMIT_INSTR_PLUS_ICEBP vpaddusw, XMM8, XMM9, FSxBX 3299 EMIT_INSTR_PLUS_ICEBP vpaddusw, YMM8, YMM9, YMM10 3300 EMIT_INSTR_PLUS_ICEBP vpaddusw, YMM8, YMM9, FSxBX 3301 %endif 3302 3263 3303 %endif ; BS3_INSTANTIATING_CMN 3264 3304 -
trunk/src/VBox/ValidationKit/bootsectors/bs3-cpu-instr-3.c32
r100598 r100600 8204 8204 { bs3CpuInstr3_vpsubusw_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 10, RT_ELEMENTS(s_aValues16), s_aValues16 }, 8205 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 }, 8206 }; 8207 static BS3CPUINSTR3_TEST1_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST1_MODES_INIT(s_aTests16, s_aTests32, s_aTests64); 8208 unsigned const iTest = BS3CPUINSTR3_TEST_MODES_INDEX(bMode); 8209 return bs3CpuInstr3_WorkerTestType1(bMode, s_aTests[iTest].paTests, s_aTests[iTest].cTests, 8210 g_aXcptConfig4, RT_ELEMENTS(g_aXcptConfig4)); 8211 } 8212 8213 8214 /* 8215 * [V]PADDUSB/[V]PADDUSW - Add paced unsigned integers with unsigned saturation. 8216 */ 8217 BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_paddusb_MM1_MM2_icebp); 8218 BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_paddusb_MM1_FSxBX_icebp); 8219 BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_paddusb_XMM1_XMM2_icebp); 8220 BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_paddusb_XMM1_FSxBX_icebp); 8221 extern FNBS3FAR bs3CpuInstr3_paddusb_XMM8_XMM9_icebp_c64; 8222 extern FNBS3FAR bs3CpuInstr3_paddusb_XMM8_FSxBX_icebp_c64; 8223 BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vpaddusb_XMM1_XMM2_XMM3_icebp); 8224 BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vpaddusb_XMM1_XMM2_FSxBX_icebp); 8225 extern FNBS3FAR bs3CpuInstr3_vpaddusb_XMM8_XMM9_XMM10_icebp_c64; 8226 extern FNBS3FAR bs3CpuInstr3_vpaddusb_XMM8_XMM9_FSxBX_icebp_c64; 8227 BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vpaddusb_YMM1_YMM2_YMM3_icebp); 8228 BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vpaddusb_YMM1_YMM2_FSxBX_icebp); 8229 extern FNBS3FAR bs3CpuInstr3_vpaddusb_YMM8_YMM9_YMM10_icebp_c64; 8230 extern FNBS3FAR bs3CpuInstr3_vpaddusb_YMM8_YMM9_FSxBX_icebp_c64; 8231 8232 BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_paddusw_MM1_MM2_icebp); 8233 BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_paddusw_MM1_FSxBX_icebp); 8234 BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_paddusw_XMM1_XMM2_icebp); 8235 BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_paddusw_XMM1_FSxBX_icebp); 8236 extern FNBS3FAR bs3CpuInstr3_paddusw_XMM8_XMM9_icebp_c64; 8237 extern FNBS3FAR bs3CpuInstr3_paddusw_XMM8_FSxBX_icebp_c64; 8238 BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vpaddusw_XMM1_XMM2_XMM3_icebp); 8239 BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vpaddusw_XMM1_XMM2_FSxBX_icebp); 8240 extern FNBS3FAR bs3CpuInstr3_vpaddusw_XMM8_XMM9_XMM10_icebp_c64; 8241 extern FNBS3FAR bs3CpuInstr3_vpaddusw_XMM8_XMM9_FSxBX_icebp_c64; 8242 BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vpaddusw_YMM1_YMM2_YMM3_icebp); 8243 BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vpaddusw_YMM1_YMM2_FSxBX_icebp); 8244 extern FNBS3FAR bs3CpuInstr3_vpaddusw_YMM8_YMM9_YMM10_icebp_c64; 8245 extern FNBS3FAR bs3CpuInstr3_vpaddusw_YMM8_YMM9_FSxBX_icebp_c64; 8246 8247 BS3_DECL_FAR(uint8_t) bs3CpuInstr3_v_paddusb_paddusw(uint8_t bMode) 8248 { 8249 static BS3CPUINSTR3_TEST1_VALUES_T const s_aValues8[] = 8250 { 8251 { /*src2*/ RTUINT256_INIT_C(0, 0, 0, 0), 8252 /*src1*/ RTUINT256_INIT_C(0, 0, 0, 0), 8253 /* => */ RTUINT256_INIT_C(0, 0, 0, 0) }, 8254 { /*src2*/ RTUINT256_INIT_C(0xf1f2f3f4f5f6f7f8, 0xe1e2e3e4e5e6e7e8, 0xd1d2d3d4d5d6d7d8, 0xc1c2c3c4c5c6c7c8), 8255 /*src1*/ RTUINT256_INIT_C(0xb1b2b3b4b5b6b7b8, 0xa1a2a3a4a5a6a7a8, 0x9192939495969798, 0x8182838485868788), 8256 /* => */ RTUINT256_INIT_C(0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff) }, 8257 { /*src2*/ RTUINT256_INIT_C(0x4d09f02a6cdc73d5, 0x3ef417c8666b3fe6, 0xb4212fa8564c9ba2, 0x9c5ce073930996bb), 8258 /*src1*/ RTUINT256_INIT_C(0x1eddddac09633294, 0xf95c8eec40725633, 0x8800e95bbf9962c3, 0x43d3cda0238499fd), 8259 /* => */ RTUINT256_INIT_C(0x6be6ffd675ffa5ff, 0xffffa5ffa6dd95ff, 0xff21ffffffe5fdff, 0xdfffffffb68dffff) }, 8260 }; 8261 8262 static BS3CPUINSTR3_TEST1_VALUES_T const s_aValues16[] = 8263 { 8264 { /*src2*/ RTUINT256_INIT_C(0, 0, 0, 0), 8265 /*src1*/ RTUINT256_INIT_C(0, 0, 0, 0), 8266 /* => */ RTUINT256_INIT_C(0, 0, 0, 0) }, 8267 { /*src2*/ RTUINT256_INIT_C(0xf1f2f3f4f5f6f7f8, 0xe1e2e3e4e5e6e7e8, 0xd1d2d3d4d5d6d7d8, 0xc1c2c3c4c5c6c7c8), 8268 /*src1*/ RTUINT256_INIT_C(0xb1b2b3b4b5b6b7b8, 0xa1a2a3a4a5a6a7a8, 0x9192939495969798, 0x8182838485868788), 8269 /* => */ RTUINT256_INIT_C(0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff) }, 8270 { /*src2*/ RTUINT256_INIT_C(0x4d09f02a6cdc73d5, 0x3ef417c8666b3fe6, 0xb4212fa8564c9ba2, 0x9c5ce073930996bb), 8271 /*src1*/ RTUINT256_INIT_C(0x1eddddac09633294, 0xf95c8eec40725633, 0x8800e95bbf9962c3, 0x43d3cda0238499fd), 8272 /* => */ RTUINT256_INIT_C(0x6be6ffff763fa669, 0xffffa6b4a6dd9619, 0xfffffffffffffe65, 0xe02fffffb68dffff) }, 8273 }; 8274 8275 static BS3CPUINSTR3_TEST1_T const s_aTests16[] = 8276 { 8277 { bs3CpuInstr3_paddusb_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues8), s_aValues8 }, 8278 { bs3CpuInstr3_paddusb_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValues8), s_aValues8 }, 8279 { bs3CpuInstr3_paddusb_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues8), s_aValues8 }, 8280 { bs3CpuInstr3_paddusb_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValues8), s_aValues8 }, 8281 { bs3CpuInstr3_vpaddusb_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues8), s_aValues8 }, 8282 { bs3CpuInstr3_vpaddusb_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues8), s_aValues8 }, 8283 { bs3CpuInstr3_vpaddusb_YMM1_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues8), s_aValues8 }, 8284 { bs3CpuInstr3_vpaddusb_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues8), s_aValues8 }, 8285 8286 { bs3CpuInstr3_paddusw_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues16), s_aValues16 }, 8287 { bs3CpuInstr3_paddusw_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValues16), s_aValues16 }, 8288 { bs3CpuInstr3_paddusw_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues16), s_aValues16 }, 8289 { bs3CpuInstr3_paddusw_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValues16), s_aValues16 }, 8290 { bs3CpuInstr3_vpaddusw_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues16), s_aValues16 }, 8291 { bs3CpuInstr3_vpaddusw_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues16), s_aValues16 }, 8292 { bs3CpuInstr3_vpaddusw_YMM1_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues16), s_aValues16 }, 8293 { bs3CpuInstr3_vpaddusw_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues16), s_aValues16 }, 8294 }; 8295 static BS3CPUINSTR3_TEST1_T const s_aTests32[] = 8296 { 8297 { bs3CpuInstr3_paddusb_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues8), s_aValues8 }, 8298 { bs3CpuInstr3_paddusb_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValues8), s_aValues8 }, 8299 { bs3CpuInstr3_paddusb_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues8), s_aValues8 }, 8300 { bs3CpuInstr3_paddusb_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValues8), s_aValues8 }, 8301 { bs3CpuInstr3_vpaddusb_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues8), s_aValues8 }, 8302 { bs3CpuInstr3_vpaddusb_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues8), s_aValues8 }, 8303 { bs3CpuInstr3_vpaddusb_YMM1_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues8), s_aValues8 }, 8304 { bs3CpuInstr3_vpaddusb_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues8), s_aValues8 }, 8305 8306 { bs3CpuInstr3_paddusw_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues16), s_aValues16 }, 8307 { bs3CpuInstr3_paddusw_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValues16), s_aValues16 }, 8308 { bs3CpuInstr3_paddusw_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues16), s_aValues16 }, 8309 { bs3CpuInstr3_paddusw_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValues16), s_aValues16 }, 8310 { bs3CpuInstr3_vpaddusw_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues16), s_aValues16 }, 8311 { bs3CpuInstr3_vpaddusw_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues16), s_aValues16 }, 8312 { bs3CpuInstr3_vpaddusw_YMM1_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues16), s_aValues16 }, 8313 { bs3CpuInstr3_vpaddusw_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues16), s_aValues16 }, 8314 }; 8315 static BS3CPUINSTR3_TEST1_T const s_aTests64[] = 8316 { 8317 { bs3CpuInstr3_paddusb_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues8), s_aValues8 }, 8318 { bs3CpuInstr3_paddusb_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValues8), s_aValues8 }, 8319 { bs3CpuInstr3_paddusb_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues8), s_aValues8 }, 8320 { bs3CpuInstr3_paddusb_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValues8), s_aValues8 }, 8321 { bs3CpuInstr3_paddusb_XMM8_XMM9_icebp_c64, 255, RM_REG, T_SSE2, 8, 8, 9, RT_ELEMENTS(s_aValues8), s_aValues8 }, 8322 { bs3CpuInstr3_paddusb_XMM8_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, 8, 8, 255, RT_ELEMENTS(s_aValues8), s_aValues8 }, 8323 { bs3CpuInstr3_vpaddusb_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues8), s_aValues8 }, 8324 { bs3CpuInstr3_vpaddusb_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues8), s_aValues8 }, 8325 { bs3CpuInstr3_vpaddusb_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 10, RT_ELEMENTS(s_aValues8), s_aValues8 }, 8326 { bs3CpuInstr3_vpaddusb_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 8, 9, 255, RT_ELEMENTS(s_aValues8), s_aValues8 }, 8327 { bs3CpuInstr3_vpaddusb_YMM1_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues8), s_aValues8 }, 8328 { bs3CpuInstr3_vpaddusb_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues8), s_aValues8 }, 8329 { bs3CpuInstr3_vpaddusb_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 10, RT_ELEMENTS(s_aValues8), s_aValues8 }, 8330 { bs3CpuInstr3_vpaddusb_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 8, 9, 255, RT_ELEMENTS(s_aValues8), s_aValues8 }, 8331 8332 { bs3CpuInstr3_paddusw_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues16), s_aValues16 }, 8333 { bs3CpuInstr3_paddusw_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValues16), s_aValues16 }, 8334 { bs3CpuInstr3_paddusw_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues16), s_aValues16 }, 8335 { bs3CpuInstr3_paddusw_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValues16), s_aValues16 }, 8336 { bs3CpuInstr3_paddusw_XMM8_XMM9_icebp_c64, 255, RM_REG, T_SSE2, 8, 8, 9, RT_ELEMENTS(s_aValues16), s_aValues16 }, 8337 { bs3CpuInstr3_paddusw_XMM8_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, 8, 8, 255, RT_ELEMENTS(s_aValues16), s_aValues16 }, 8338 { bs3CpuInstr3_vpaddusw_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues16), s_aValues16 }, 8339 { bs3CpuInstr3_vpaddusw_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues16), s_aValues16 }, 8340 { bs3CpuInstr3_vpaddusw_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 10, RT_ELEMENTS(s_aValues16), s_aValues16 }, 8341 { bs3CpuInstr3_vpaddusw_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 8, 9, 255, RT_ELEMENTS(s_aValues16), s_aValues16 }, 8342 { bs3CpuInstr3_vpaddusw_YMM1_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues16), s_aValues16 }, 8343 { bs3CpuInstr3_vpaddusw_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues16), s_aValues16 }, 8344 { bs3CpuInstr3_vpaddusw_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 10, RT_ELEMENTS(s_aValues16), s_aValues16 }, 8345 { bs3CpuInstr3_vpaddusw_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 8, 9, 255, RT_ELEMENTS(s_aValues16), s_aValues16 }, 8206 8346 }; 8207 8347 static BS3CPUINSTR3_TEST1_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST1_MODES_INIT(s_aTests16, s_aTests32, s_aTests64); … … 13216 13356 { "[v]psubsb/[v]psubsw", bs3CpuInstr3_v_psubsb_psubsw, 0 }, 13217 13357 { "[v]psubusb/[v]psubusw", bs3CpuInstr3_v_psubusb_psubusw, 0 }, 13358 { "[v]paddusb/[v]paddusw", bs3CpuInstr3_v_paddusb_paddusw, 0 }, 13218 13359 #endif 13219 13360 };
Note:
See TracChangeset
for help on using the changeset viewer.