Changeset 96436 in vbox
- Timestamp:
- Aug 23, 2022 10:40:44 AM (3 years ago)
- svn:sync-xref-src-repo-rev:
- 153266
- Location:
- trunk/src/VBox/ValidationKit/bootsectors
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/ValidationKit/bootsectors/bs3-cpu-instr-3-template.mac
r96407 r96436 2573 2573 %endif 2574 2574 2575 ; 2576 ; [V]LDDQU 2577 ; 2578 EMIT_INSTR_PLUS_ICEBP lddqu, XMM1, FSxBX 2579 EMIT_INSTR_PLUS_ICEBP vlddqu, XMM1, FSxBX 2580 EMIT_INSTR_PLUS_ICEBP vlddqu, YMM1, FSxBX 2581 %if TMPL_BITS == 64 2582 EMIT_INSTR_PLUS_ICEBP lddqu, XMM10, FSxBX 2583 EMIT_INSTR_PLUS_ICEBP vlddqu, XMM11, FSxBX 2584 EMIT_INSTR_PLUS_ICEBP vlddqu, YMM12, FSxBX 2585 %endif 2575 2586 2576 2587 %endif ; BS3_INSTANTIATING_CMN -
trunk/src/VBox/ValidationKit/bootsectors/bs3-cpu-instr-3.c32
r96407 r96436 9611 9611 return bs3CpuInstr3_WorkerTestType3(bMode, s_aTests[iTest].paTests, s_aTests[iTest].cTests, 9612 9612 g_aXcptConfig5, RT_ELEMENTS(g_aXcptConfig5), X86_EFL_STATUS_BITS); 9613 } 9614 9615 9616 /* 9617 * [V]LDDQU - Load unaligned integer from memory. 9618 */ 9619 BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_lddqu_XMM1_FSxBX_icebp); 9620 extern FNBS3FAR bs3CpuInstr3_lddqu_XMM10_FSxBX_icebp_c64; 9621 BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vlddqu_XMM1_FSxBX_icebp); 9622 extern FNBS3FAR bs3CpuInstr3_vlddqu_XMM11_FSxBX_icebp_c64; 9623 BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vlddqu_YMM1_FSxBX_icebp); 9624 extern FNBS3FAR bs3CpuInstr3_vlddqu_YMM12_FSxBX_icebp_c64; 9625 9626 BS3_DECL_FAR(uint8_t) bs3CpuInstr3_v_lddqu(uint8_t bMode) 9627 { 9628 static BS3CPUINSTR3_TEST3_T const s_aTests16[] = 9629 { 9630 { bs3CpuInstr3_lddqu_XMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_SSE3, 1, 255, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3 }, 9631 9632 { bs3CpuInstr3_vlddqu_XMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 255, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3 }, 9633 { bs3CpuInstr3_vlddqu_YMM1_FSxBX_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_256, 1, 255, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3 }, 9634 }; 9635 static BS3CPUINSTR3_TEST3_T const s_aTests32[] = 9636 { 9637 { bs3CpuInstr3_lddqu_XMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_SSE3, 1, 255, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3 }, 9638 9639 { bs3CpuInstr3_vlddqu_XMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 255, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3 }, 9640 9641 { bs3CpuInstr3_vlddqu_YMM1_FSxBX_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_256, 1, 255, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3 }, 9642 }; 9643 static BS3CPUINSTR3_TEST3_T const s_aTests64[] = 9644 { 9645 { bs3CpuInstr3_lddqu_XMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_SSE3, 1, 255, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3 }, 9646 { bs3CpuInstr3_lddqu_XMM10_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_SSE3, 10, 255, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3 }, 9647 9648 { bs3CpuInstr3_vlddqu_XMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 255, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3 }, 9649 { bs3CpuInstr3_vlddqu_XMM11_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 11, 255, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3 }, 9650 9651 { bs3CpuInstr3_vlddqu_YMM1_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, 1, 255, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3 }, 9652 { bs3CpuInstr3_vlddqu_YMM12_FSxBX_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_256, 12, 255, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3 }, 9653 }; 9654 static BS3CPUINSTR3_TEST3_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST3_MODES_INIT(s_aTests16, s_aTests32, s_aTests64); 9655 unsigned const iTest = BS3CPUINSTR3_TEST_MODES_INDEX(bMode); 9656 return bs3CpuInstr3_WorkerTestType3(bMode, s_aTests[iTest].paTests, s_aTests[iTest].cTests, 9657 g_aXcptConfig4Unaligned, RT_ELEMENTS(g_aXcptConfig4Unaligned), 0 /*cbMaxAlign*/); 9613 9658 } 9614 9659 … … 10070 10115 bs3CpuInstr3_v_pmovzxbw_pmovzxbd_pmovzxbq_pmovzxwd_pmovzxwq_pmovzxdq, 0 }, 10071 10116 #endif 10072 #if define (ALL_TESTS)10117 #if defined(ALL_TESTS) 10073 10118 { "[v]shufps", bs3CpuInstr3_v_shufps, 0 }, 10074 10119 { "[v]shufpd", bs3CpuInstr3_v_shufpd, 0 }, 10120 #endif 10121 #if defined(ALL_TESTS) 10122 { "[v]lddqu", bs3CpuInstr3_v_lddqu, 0 }, 10075 10123 #endif 10076 10124 };
Note:
See TracChangeset
for help on using the changeset viewer.