Changeset 100603 in vbox for trunk/src/VBox/ValidationKit
- Timestamp:
- Jul 17, 2023 12:14:34 PM (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
r100600 r100603 3301 3301 %endif 3302 3302 3303 ; 3304 ; [V]PADDSB 3305 ; 3306 EMIT_INSTR_PLUS_ICEBP paddsb, MM1, MM2 3307 EMIT_INSTR_PLUS_ICEBP paddsb, MM1, FSxBX 3308 EMIT_INSTR_PLUS_ICEBP paddsb, XMM1, XMM2 3309 EMIT_INSTR_PLUS_ICEBP paddsb, XMM1, FSxBX 3310 EMIT_INSTR_PLUS_ICEBP vpaddsb, XMM1, XMM2, XMM3 3311 EMIT_INSTR_PLUS_ICEBP vpaddsb, XMM1, XMM2, FSxBX 3312 EMIT_INSTR_PLUS_ICEBP vpaddsb, YMM1, YMM2, YMM3 3313 EMIT_INSTR_PLUS_ICEBP vpaddsb, YMM1, YMM2, FSxBX 3314 %if TMPL_BITS == 64 3315 EMIT_INSTR_PLUS_ICEBP paddsb, XMM8, XMM9 3316 EMIT_INSTR_PLUS_ICEBP paddsb, XMM8, FSxBX 3317 EMIT_INSTR_PLUS_ICEBP vpaddsb, XMM8, XMM9, XMM10 3318 EMIT_INSTR_PLUS_ICEBP vpaddsb, XMM8, XMM9, FSxBX 3319 EMIT_INSTR_PLUS_ICEBP vpaddsb, YMM8, YMM9, YMM10 3320 EMIT_INSTR_PLUS_ICEBP vpaddsb, YMM8, YMM9, FSxBX 3321 %endif 3322 3323 ; 3324 ; [V]PADDSW 3325 ; 3326 EMIT_INSTR_PLUS_ICEBP paddsw, MM1, MM2 3327 EMIT_INSTR_PLUS_ICEBP paddsw, MM1, FSxBX 3328 EMIT_INSTR_PLUS_ICEBP paddsw, XMM1, XMM2 3329 EMIT_INSTR_PLUS_ICEBP paddsw, XMM1, FSxBX 3330 EMIT_INSTR_PLUS_ICEBP vpaddsw, XMM1, XMM2, XMM3 3331 EMIT_INSTR_PLUS_ICEBP vpaddsw, XMM1, XMM2, FSxBX 3332 EMIT_INSTR_PLUS_ICEBP vpaddsw, YMM1, YMM2, YMM3 3333 EMIT_INSTR_PLUS_ICEBP vpaddsw, YMM1, YMM2, FSxBX 3334 %if TMPL_BITS == 64 3335 EMIT_INSTR_PLUS_ICEBP paddsw, XMM8, XMM9 3336 EMIT_INSTR_PLUS_ICEBP paddsw, XMM8, FSxBX 3337 EMIT_INSTR_PLUS_ICEBP vpaddsw, XMM8, XMM9, XMM10 3338 EMIT_INSTR_PLUS_ICEBP vpaddsw, XMM8, XMM9, FSxBX 3339 EMIT_INSTR_PLUS_ICEBP vpaddsw, YMM8, YMM9, YMM10 3340 EMIT_INSTR_PLUS_ICEBP vpaddsw, YMM8, YMM9, FSxBX 3341 %endif 3342 3303 3343 %endif ; BS3_INSTANTIATING_CMN 3304 3344 -
trunk/src/VBox/ValidationKit/bootsectors/bs3-cpu-instr-3.c32
r100600 r100603 8344 8344 { bs3CpuInstr3_vpaddusw_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 10, RT_ELEMENTS(s_aValues16), s_aValues16 }, 8345 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 }, 8346 }; 8347 static BS3CPUINSTR3_TEST1_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST1_MODES_INIT(s_aTests16, s_aTests32, s_aTests64); 8348 unsigned const iTest = BS3CPUINSTR3_TEST_MODES_INDEX(bMode); 8349 return bs3CpuInstr3_WorkerTestType1(bMode, s_aTests[iTest].paTests, s_aTests[iTest].cTests, 8350 g_aXcptConfig4, RT_ELEMENTS(g_aXcptConfig4)); 8351 } 8352 8353 8354 /* 8355 * [V]PADDSB/[V]PADDSW - Add packed signed integers with signed saturation. 8356 */ 8357 BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_paddsb_MM1_MM2_icebp); 8358 BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_paddsb_MM1_FSxBX_icebp); 8359 BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_paddsb_XMM1_XMM2_icebp); 8360 BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_paddsb_XMM1_FSxBX_icebp); 8361 extern FNBS3FAR bs3CpuInstr3_paddsb_XMM8_XMM9_icebp_c64; 8362 extern FNBS3FAR bs3CpuInstr3_paddsb_XMM8_FSxBX_icebp_c64; 8363 BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vpaddsb_XMM1_XMM2_XMM3_icebp); 8364 BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vpaddsb_XMM1_XMM2_FSxBX_icebp); 8365 extern FNBS3FAR bs3CpuInstr3_vpaddsb_XMM8_XMM9_XMM10_icebp_c64; 8366 extern FNBS3FAR bs3CpuInstr3_vpaddsb_XMM8_XMM9_FSxBX_icebp_c64; 8367 BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vpaddsb_YMM1_YMM2_YMM3_icebp); 8368 BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vpaddsb_YMM1_YMM2_FSxBX_icebp); 8369 extern FNBS3FAR bs3CpuInstr3_vpaddsb_YMM8_YMM9_YMM10_icebp_c64; 8370 extern FNBS3FAR bs3CpuInstr3_vpaddsb_YMM8_YMM9_FSxBX_icebp_c64; 8371 8372 BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_paddsw_MM1_MM2_icebp); 8373 BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_paddsw_MM1_FSxBX_icebp); 8374 BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_paddsw_XMM1_XMM2_icebp); 8375 BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_paddsw_XMM1_FSxBX_icebp); 8376 extern FNBS3FAR bs3CpuInstr3_paddsw_XMM8_XMM9_icebp_c64; 8377 extern FNBS3FAR bs3CpuInstr3_paddsw_XMM8_FSxBX_icebp_c64; 8378 BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vpaddsw_XMM1_XMM2_XMM3_icebp); 8379 BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vpaddsw_XMM1_XMM2_FSxBX_icebp); 8380 extern FNBS3FAR bs3CpuInstr3_vpaddsw_XMM8_XMM9_XMM10_icebp_c64; 8381 extern FNBS3FAR bs3CpuInstr3_vpaddsw_XMM8_XMM9_FSxBX_icebp_c64; 8382 BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vpaddsw_YMM1_YMM2_YMM3_icebp); 8383 BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vpaddsw_YMM1_YMM2_FSxBX_icebp); 8384 extern FNBS3FAR bs3CpuInstr3_vpaddsw_YMM8_YMM9_YMM10_icebp_c64; 8385 extern FNBS3FAR bs3CpuInstr3_vpaddsw_YMM8_YMM9_FSxBX_icebp_c64; 8386 8387 BS3_DECL_FAR(uint8_t) bs3CpuInstr3_v_paddsb_paddsw(uint8_t bMode) 8388 { 8389 static BS3CPUINSTR3_TEST1_VALUES_T const s_aValues8[] = 8390 { 8391 { /*src2*/ RTUINT256_INIT_C(0, 0, 0, 0), 8392 /*src1*/ RTUINT256_INIT_C(0, 0, 0, 0), 8393 /* => */ RTUINT256_INIT_C(0, 0, 0, 0) }, 8394 { /*src2*/ RTUINT256_INIT_C(0xf1f2f3f4f5f6f7f8, 0xe1e2e3e4e5e6e7e8, 0xd1d2d3d4d5d6d7d8, 0xc1c2c3c4c5c6c7c8), 8395 /*src1*/ RTUINT256_INIT_C(0xb1b2b3b4b5b6b7b8, 0xa1a2a3a4a5a6a7a8, 0x9192939495969798, 0x8182838485868788), 8396 /* => */ RTUINT256_INIT_C(0xa2a4a6a8aaacaeb0, 0x828486888a8c8e90, 0x8080808080808080, 0x8080808080808080) }, 8397 { /*src2*/ RTUINT256_INIT_C(0x4d09f02a6cdc73d5, 0x3ef417c8666b3fe6, 0xb4212fa8564c9ba2, 0x9c5ce073930996bb), 8398 /*src1*/ RTUINT256_INIT_C(0x1eddddac09633294, 0xf95c8eec40725633, 0x8800e95bbf9962c3, 0x43d3cda0238499fd), 8399 /* => */ RTUINT256_INIT_C(0x6be6cdd6753f7f80, 0x3750a5b47f7f7f19, 0x8021180315e5fd80, 0xdf2fad13b68d80b8) }, 8400 }; 8401 8402 static BS3CPUINSTR3_TEST1_VALUES_T const s_aValues16[] = 8403 { 8404 { /*src2*/ RTUINT256_INIT_C(0, 0, 0, 0), 8405 /*src1*/ RTUINT256_INIT_C(0, 0, 0, 0), 8406 /* => */ RTUINT256_INIT_C(0, 0, 0, 0) }, 8407 { /*src2*/ RTUINT256_INIT_C(0xf1f2f3f4f5f6f7f8, 0xe1e2e3e4e5e6e7e8, 0xd1d2d3d4d5d6d7d8, 0xc1c2c3c4c5c6c7c8), 8408 /*src1*/ RTUINT256_INIT_C(0xb1b2b3b4b5b6b7b8, 0xa1a2a3a4a5a6a7a8, 0x9192939495969798, 0x8182838485868788), 8409 /* => */ RTUINT256_INIT_C(0xa3a4a7a8abacafb0, 0x838487888b8c8f90, 0x8000800080008000, 0x8000800080008000) }, 8410 { /*src2*/ RTUINT256_INIT_C(0x4d09f02a6cdc73d5, 0x3ef417c8666b3fe6, 0xb4212fa8564c9ba2, 0x9c5ce073930996bb), 8411 /*src1*/ RTUINT256_INIT_C(0x1eddddac09633294, 0xf95c8eec40725633, 0x8800e95bbf9962c3, 0x43d3cda0238499fd), 8412 /* => */ RTUINT256_INIT_C(0x6be6cdd6763f7fff, 0x3850a6b47fff7fff, 0x8000190315e5fe65, 0xe02fae13b68d8000) }, 8413 }; 8414 8415 static BS3CPUINSTR3_TEST1_T const s_aTests16[] = 8416 { 8417 { bs3CpuInstr3_paddsb_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues8), s_aValues8 }, 8418 { bs3CpuInstr3_paddsb_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValues8), s_aValues8 }, 8419 { bs3CpuInstr3_paddsb_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues8), s_aValues8 }, 8420 { bs3CpuInstr3_paddsb_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValues8), s_aValues8 }, 8421 { bs3CpuInstr3_vpaddsb_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues8), s_aValues8 }, 8422 { bs3CpuInstr3_vpaddsb_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues8), s_aValues8 }, 8423 { bs3CpuInstr3_vpaddsb_YMM1_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues8), s_aValues8 }, 8424 { bs3CpuInstr3_vpaddsb_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues8), s_aValues8 }, 8425 8426 { bs3CpuInstr3_paddsw_MM1_MM2_icebp_c16, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues16), s_aValues16 }, 8427 { bs3CpuInstr3_paddsw_MM1_FSxBX_icebp_c16, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValues16), s_aValues16 }, 8428 { bs3CpuInstr3_paddsw_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues16), s_aValues16 }, 8429 { bs3CpuInstr3_paddsw_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValues16), s_aValues16 }, 8430 { bs3CpuInstr3_vpaddsw_XMM1_XMM2_XMM3_icebp_c16, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues16), s_aValues16 }, 8431 { bs3CpuInstr3_vpaddsw_XMM1_XMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues16), s_aValues16 }, 8432 { bs3CpuInstr3_vpaddsw_YMM1_YMM2_YMM3_icebp_c16, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues16), s_aValues16 }, 8433 { bs3CpuInstr3_vpaddsw_YMM1_YMM2_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues16), s_aValues16 }, 8434 }; 8435 static BS3CPUINSTR3_TEST1_T const s_aTests32[] = 8436 { 8437 { bs3CpuInstr3_paddsb_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues8), s_aValues8 }, 8438 { bs3CpuInstr3_paddsb_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValues8), s_aValues8 }, 8439 { bs3CpuInstr3_paddsb_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues8), s_aValues8 }, 8440 { bs3CpuInstr3_paddsb_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValues8), s_aValues8 }, 8441 { bs3CpuInstr3_vpaddsb_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues8), s_aValues8 }, 8442 { bs3CpuInstr3_vpaddsb_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues8), s_aValues8 }, 8443 { bs3CpuInstr3_vpaddsb_YMM1_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues8), s_aValues8 }, 8444 { bs3CpuInstr3_vpaddsb_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues8), s_aValues8 }, 8445 8446 { bs3CpuInstr3_paddsw_MM1_MM2_icebp_c32, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues16), s_aValues16 }, 8447 { bs3CpuInstr3_paddsw_MM1_FSxBX_icebp_c32, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValues16), s_aValues16 }, 8448 { bs3CpuInstr3_paddsw_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues16), s_aValues16 }, 8449 { bs3CpuInstr3_paddsw_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValues16), s_aValues16 }, 8450 { bs3CpuInstr3_vpaddsw_XMM1_XMM2_XMM3_icebp_c32, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues16), s_aValues16 }, 8451 { bs3CpuInstr3_vpaddsw_XMM1_XMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues16), s_aValues16 }, 8452 { bs3CpuInstr3_vpaddsw_YMM1_YMM2_YMM3_icebp_c32, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues16), s_aValues16 }, 8453 { bs3CpuInstr3_vpaddsw_YMM1_YMM2_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues16), s_aValues16 }, 8454 }; 8455 static BS3CPUINSTR3_TEST1_T const s_aTests64[] = 8456 { 8457 { bs3CpuInstr3_paddsb_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues8), s_aValues8 }, 8458 { bs3CpuInstr3_paddsb_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValues8), s_aValues8 }, 8459 { bs3CpuInstr3_paddsb_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues8), s_aValues8 }, 8460 { bs3CpuInstr3_paddsb_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValues8), s_aValues8 }, 8461 { bs3CpuInstr3_paddsb_XMM8_XMM9_icebp_c64, 255, RM_REG, T_SSE2, 8, 8, 9, RT_ELEMENTS(s_aValues8), s_aValues8 }, 8462 { bs3CpuInstr3_paddsb_XMM8_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, 8, 8, 255, RT_ELEMENTS(s_aValues8), s_aValues8 }, 8463 { bs3CpuInstr3_vpaddsb_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues8), s_aValues8 }, 8464 { bs3CpuInstr3_vpaddsb_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues8), s_aValues8 }, 8465 { bs3CpuInstr3_vpaddsb_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 10, RT_ELEMENTS(s_aValues8), s_aValues8 }, 8466 { bs3CpuInstr3_vpaddsb_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 8, 9, 255, RT_ELEMENTS(s_aValues8), s_aValues8 }, 8467 { bs3CpuInstr3_vpaddsb_YMM1_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues8), s_aValues8 }, 8468 { bs3CpuInstr3_vpaddsb_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues8), s_aValues8 }, 8469 { bs3CpuInstr3_vpaddsb_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 10, RT_ELEMENTS(s_aValues8), s_aValues8 }, 8470 { bs3CpuInstr3_vpaddsb_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 8, 9, 255, RT_ELEMENTS(s_aValues8), s_aValues8 }, 8471 8472 { bs3CpuInstr3_paddsw_MM1_MM2_icebp_c64, 255, RM_REG, T_MMX, 1, 1, 2, RT_ELEMENTS(s_aValues16), s_aValues16 }, 8473 { bs3CpuInstr3_paddsw_MM1_FSxBX_icebp_c64, 255, RM_MEM, T_MMX, 1, 1, 255, RT_ELEMENTS(s_aValues16), s_aValues16 }, 8474 { bs3CpuInstr3_paddsw_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE2, 1, 1, 2, RT_ELEMENTS(s_aValues16), s_aValues16 }, 8475 { bs3CpuInstr3_paddsw_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, 1, 1, 255, RT_ELEMENTS(s_aValues16), s_aValues16 }, 8476 { bs3CpuInstr3_paddsw_XMM8_XMM9_icebp_c64, 255, RM_REG, T_SSE2, 8, 8, 9, RT_ELEMENTS(s_aValues16), s_aValues16 }, 8477 { bs3CpuInstr3_paddsw_XMM8_FSxBX_icebp_c64, 255, RM_MEM, T_SSE2, 8, 8, 255, RT_ELEMENTS(s_aValues16), s_aValues16 }, 8478 { bs3CpuInstr3_vpaddsw_XMM1_XMM2_XMM3_icebp_c64, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues16), s_aValues16 }, 8479 { bs3CpuInstr3_vpaddsw_XMM1_XMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues16), s_aValues16 }, 8480 { bs3CpuInstr3_vpaddsw_XMM8_XMM9_XMM10_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 10, RT_ELEMENTS(s_aValues16), s_aValues16 }, 8481 { bs3CpuInstr3_vpaddsw_XMM8_XMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 8, 9, 255, RT_ELEMENTS(s_aValues16), s_aValues16 }, 8482 { bs3CpuInstr3_vpaddsw_YMM1_YMM2_YMM3_icebp_c64, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues16), s_aValues16 }, 8483 { bs3CpuInstr3_vpaddsw_YMM1_YMM2_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues16), s_aValues16 }, 8484 { bs3CpuInstr3_vpaddsw_YMM8_YMM9_YMM10_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 10, RT_ELEMENTS(s_aValues16), s_aValues16 }, 8485 { bs3CpuInstr3_vpaddsw_YMM8_YMM9_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 8, 9, 255, RT_ELEMENTS(s_aValues16), s_aValues16 }, 8346 8486 }; 8347 8487 static BS3CPUINSTR3_TEST1_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST1_MODES_INIT(s_aTests16, s_aTests32, s_aTests64); … … 13357 13497 { "[v]psubusb/[v]psubusw", bs3CpuInstr3_v_psubusb_psubusw, 0 }, 13358 13498 { "[v]paddusb/[v]paddusw", bs3CpuInstr3_v_paddusb_paddusw, 0 }, 13499 { "[v]paddsb/[v]paddsw", bs3CpuInstr3_v_paddsb_paddsw, 0 }, 13359 13500 #endif 13360 13501 };
Note:
See TracChangeset
for help on using the changeset viewer.