Changeset 95553 in vbox for trunk/src/VBox/ValidationKit/bootsectors
- Timestamp:
- Jul 7, 2022 2:04:45 PM (3 years ago)
- svn:sync-xref-src-repo-rev:
- 152178
- Location:
- trunk/src/VBox/ValidationKit/bootsectors
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/ValidationKit/bootsectors/bs3-cpu-instr-3-template.mac
r95552 r95553 960 960 EMIT_INSTR_PLUS_ICEBP vmovntdqa, YMM12, FSxBX 961 961 %endif 962 963 ; 964 ; [V]MOVNTDQ 965 ; 966 EMIT_INSTR_PLUS_ICEBP movntdq, FSxBX, XMM1 967 EMIT_INSTR_PLUS_ICEBP vmovntdq, FSxBX, XMM1 968 EMIT_INSTR_PLUS_ICEBP vmovntdq, FSxBX, YMM1 969 %if TMPL_BITS == 64 970 EMIT_INSTR_PLUS_ICEBP movntdq, FSxBX, XMM10 971 EMIT_INSTR_PLUS_ICEBP vmovntdq, FSxBX, XMM10 972 EMIT_INSTR_PLUS_ICEBP vmovntdq, FSxBX, YMM10 973 %endif 974 962 975 963 976 ; -
trunk/src/VBox/ValidationKit/bootsectors/bs3-cpu-instr-3.c32
r95552 r95553 5021 5021 5022 5022 /* 5023 * MOVNTDQA - load double qword, aligned, with non-temporal hint.5023 * MOVNTDQA - load double qword, strictly aligned, with non-temporal hint. 5024 5024 */ 5025 5025 BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_movntdqa_XMM1_FSxBX_icebp); … … 5052 5052 { bs3CpuInstr3_vmovntdqa_YMM1_FSxBX_icebp_c64, X86_XCPT_GP, RM_MEM, T_AVX2_256, 1, 255, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3 }, 5053 5053 { bs3CpuInstr3_vmovntdqa_YMM12_FSxBX_icebp_c64, X86_XCPT_GP, RM_MEM, T_AVX2_256, 12, 255, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3 }, 5054 }; 5055 static BS3CPUINSTR3_TEST3_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST3_MODES_INIT(s_aTests16, s_aTests32, s_aTests64); 5056 unsigned const iTest = BS3CPUINSTR3_TEST_MODES_INDEX(bMode); 5057 return bs3CpuInstr3_WorkerTestType3(bMode, s_aTests[iTest].paTests, s_aTests[iTest].cTests, 5058 g_aXcptConfig1, RT_ELEMENTS(g_aXcptConfig1), 255 /*cbMaxAlign*/); 5059 } 5060 5061 5062 /* 5063 * MOVNTDQ - store double qword, strictly aligned, with non-temporal hint. 5064 */ 5065 BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_movntdq_FSxBX_XMM1_icebp); 5066 extern FNBS3FAR bs3CpuInstr3_movntdq_FSxBX_XMM10_icebp_c64; 5067 BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vmovntdq_FSxBX_XMM1_icebp); 5068 extern FNBS3FAR bs3CpuInstr3_vmovntdq_FSxBX_XMM10_icebp_c64; 5069 BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vmovntdq_FSxBX_YMM1_icebp); 5070 extern FNBS3FAR bs3CpuInstr3_vmovntdq_FSxBX_YMM10_icebp_c64; 5071 5072 BS3_DECL_FAR(uint8_t) bs3CpuInstr3_v_movntdq(uint8_t bMode) 5073 { 5074 static BS3CPUINSTR3_TEST3_T const s_aTests16[] = 5075 { 5076 { bs3CpuInstr3_movntdq_FSxBX_XMM1_icebp_c16, X86_XCPT_GP, RM_MEM, T_SSE2, 255, 1, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3 }, 5077 { bs3CpuInstr3_vmovntdq_FSxBX_XMM1_icebp_c16, X86_XCPT_GP, RM_MEM, T_AVX_128, 255, 1, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3 }, 5078 { bs3CpuInstr3_vmovntdq_FSxBX_YMM1_icebp_c16, X86_XCPT_GP, RM_MEM, T_AVX_256, 255, 1, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3 }, 5079 }; 5080 static BS3CPUINSTR3_TEST3_T const s_aTests32[] = 5081 { 5082 { bs3CpuInstr3_movntdq_FSxBX_XMM1_icebp_c32, X86_XCPT_GP, RM_MEM, T_SSE2, 255, 1, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3 }, 5083 { bs3CpuInstr3_vmovntdq_FSxBX_XMM1_icebp_c32, X86_XCPT_GP, RM_MEM, T_AVX_128, 255, 1, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3 }, 5084 { bs3CpuInstr3_vmovntdq_FSxBX_YMM1_icebp_c32, X86_XCPT_GP, RM_MEM, T_AVX_256, 255, 1, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3 }, 5085 }; 5086 static BS3CPUINSTR3_TEST3_T const s_aTests64[] = 5087 { 5088 { bs3CpuInstr3_movntdq_FSxBX_XMM1_icebp_c64, X86_XCPT_GP, RM_MEM, T_SSE2, 255, 1, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3 }, 5089 { bs3CpuInstr3_movntdq_FSxBX_XMM10_icebp_c64, X86_XCPT_GP, RM_MEM, T_SSE2, 255, 10, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3 }, 5090 { bs3CpuInstr3_vmovntdq_FSxBX_XMM1_icebp_c64, X86_XCPT_GP, RM_MEM, T_AVX_128, 255, 1, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3 }, 5091 { bs3CpuInstr3_vmovntdq_FSxBX_XMM10_icebp_c64, X86_XCPT_GP, RM_MEM, T_AVX_128, 255, 10, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3 }, 5092 { bs3CpuInstr3_vmovntdq_FSxBX_YMM1_icebp_c64, X86_XCPT_GP, RM_MEM, T_AVX_256, 255, 1, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3 }, 5093 { bs3CpuInstr3_vmovntdq_FSxBX_YMM10_icebp_c64, X86_XCPT_GP, RM_MEM, T_AVX_256, 255, 10, RT_ELEMENTS(g_aMoveValues3), g_aMoveValues3 }, 5054 5094 }; 5055 5095 static BS3CPUINSTR3_TEST3_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST3_MODES_INIT(s_aTests16, s_aTests32, s_aTests64); … … 5886 5926 #if defined(ALL_TESTS) 5887 5927 { "[v]movntdqa", bs3CpuInstr3_v_movntdqa, 0 }, 5928 { "[v]movntdq", bs3CpuInstr3_v_movntdq, 0 }, 5888 5929 { "[v]movntps_movntpd", bs3CpuInstr3_v_movntps_movntpd, 0 }, 5889 5930 { "[v]movups", bs3CpuInstr3_v_movups, 0 },
Note:
See TracChangeset
for help on using the changeset viewer.