Changeset 101375 in vbox
- Timestamp:
- Oct 6, 2023 8:24:29 AM (18 months ago)
- svn:sync-xref-src-repo-rev:
- 159378
- Location:
- trunk/src/VBox/ValidationKit/bootsectors
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/ValidationKit/bootsectors/bs3-cpu-instr-3-template.mac
r100608 r101375 3144 3144 EMIT_INSTR_PLUS_ICEBP mpsadbw, XMM1, FSxBX, 000h 3145 3145 3146 EMIT_INSTR_PLUS_ICEBP vmpsadbw, XMM1, XMM2, XMM3, 0FFh 3147 EMIT_INSTR_PLUS_ICEBP vmpsadbw, XMM1, XMM2, FSxBX, 0FFh 3148 EMIT_INSTR_PLUS_ICEBP vmpsadbw, XMM1, XMM2, XMM3, 000h 3149 EMIT_INSTR_PLUS_ICEBP vmpsadbw, XMM1, XMM2, FSxBX, 000h 3150 3151 EMIT_INSTR_PLUS_ICEBP vmpsadbw, YMM1, YMM2, YMM3, 0FFh 3152 EMIT_INSTR_PLUS_ICEBP vmpsadbw, YMM1, YMM2, FSxBX, 0FFh 3153 EMIT_INSTR_PLUS_ICEBP vmpsadbw, YMM1, YMM2, YMM3, 000h 3154 EMIT_INSTR_PLUS_ICEBP vmpsadbw, YMM1, YMM2, FSxBX, 000h 3155 3146 3156 %if TMPL_BITS == 64 3147 3157 EMIT_INSTR_PLUS_ICEBP mpsadbw, XMM8, XMM9, 0FFh … … 3149 3159 EMIT_INSTR_PLUS_ICEBP mpsadbw, XMM8, XMM9, 000h 3150 3160 EMIT_INSTR_PLUS_ICEBP mpsadbw, XMM8, FSxBX, 000h 3161 3162 EMIT_INSTR_PLUS_ICEBP vmpsadbw, XMM8, XMM9, XMM10, 0FFh 3163 EMIT_INSTR_PLUS_ICEBP vmpsadbw, XMM8, XMM9, FSxBX, 0FFh 3164 EMIT_INSTR_PLUS_ICEBP vmpsadbw, XMM8, XMM9, XMM10, 000h 3165 EMIT_INSTR_PLUS_ICEBP vmpsadbw, XMM8, XMM9, FSxBX, 000h 3166 3167 EMIT_INSTR_PLUS_ICEBP vmpsadbw, YMM8, YMM9, YMM10, 0FFh 3168 EMIT_INSTR_PLUS_ICEBP vmpsadbw, YMM8, YMM9, FSxBX, 0FFh 3169 EMIT_INSTR_PLUS_ICEBP vmpsadbw, YMM8, YMM9, YMM10, 000h 3170 EMIT_INSTR_PLUS_ICEBP vmpsadbw, YMM8, YMM9, FSxBX, 000h 3151 3171 %endif 3152 3172 -
trunk/src/VBox/ValidationKit/bootsectors/bs3-cpu-instr-3.c32
r100608 r101375 7805 7805 extern FNBS3FAR bs3CpuInstr3_mpsadbw_XMM8_FSxBX_000h_icebp_c64; 7806 7806 7807 BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vmpsadbw_XMM1_XMM2_XMM3_0FFh_icebp); 7808 BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vmpsadbw_XMM1_XMM2_FSxBX_0FFh_icebp); 7809 BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vmpsadbw_XMM1_XMM2_XMM3_000h_icebp); 7810 BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vmpsadbw_XMM1_XMM2_FSxBX_000h_icebp); 7811 extern FNBS3FAR bs3CpuInstr3_vmpsadbw_XMM8_XMM9_XMM10_0FFh_icebp_c64; 7812 extern FNBS3FAR bs3CpuInstr3_vmpsadbw_XMM8_XMM9_FSxBX_0FFh_icebp_c64; 7813 extern FNBS3FAR bs3CpuInstr3_vmpsadbw_XMM8_XMM9_XMM10_000h_icebp_c64; 7814 extern FNBS3FAR bs3CpuInstr3_vmpsadbw_XMM8_XMM9_FSxBX_000h_icebp_c64; 7815 7816 BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vmpsadbw_YMM1_YMM2_YMM3_0FFh_icebp); 7817 BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vmpsadbw_YMM1_YMM2_FSxBX_0FFh_icebp); 7818 BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vmpsadbw_YMM1_YMM2_YMM3_000h_icebp); 7819 BS3_FNBS3FAR_PROTOTYPES_CMN(bs3CpuInstr3_vmpsadbw_YMM1_YMM2_FSxBX_000h_icebp); 7820 extern FNBS3FAR bs3CpuInstr3_vmpsadbw_YMM8_YMM9_YMM10_0FFh_icebp_c64; 7821 extern FNBS3FAR bs3CpuInstr3_vmpsadbw_YMM8_YMM9_FSxBX_0FFh_icebp_c64; 7822 extern FNBS3FAR bs3CpuInstr3_vmpsadbw_YMM8_YMM9_YMM10_000h_icebp_c64; 7823 extern FNBS3FAR bs3CpuInstr3_vmpsadbw_YMM8_YMM9_FSxBX_000h_icebp_c64; 7824 7807 7825 BS3_DECL_FAR(uint8_t) bs3CpuInstr3_v_mpsadbw(uint8_t bMode) 7808 7826 { … … 7812 7830 /*src1*/ RTUINT256_INIT_C( 0, 0, 0, 0), 7813 7831 /* => */ RTUINT256_INIT_C( 0, 0, 0, 0) }, 7814 { /*src2*/ RTUINT256_INIT_C( 0, 1, 0xd1d2d3d4d5d6d7d8, 0xc1c2c3c4c5c6c7c8), 7815 /*src1*/ RTUINT256_INIT_C( 2, 3, 0x9192939495969798, 0x8182838485868788), 7816 /* => */ RTUINT256_INIT_C( 4, 5, 0x00fc00f800f400f0, 0x01040118012c0140) }, 7817 { /*src2*/ RTUINT256_INIT_C( 6, 7, 0xb4212fa8564c9ba2, 0x9c5ce073930996bb), 7818 /*src1*/ RTUINT256_INIT_C( 8, 9, 0x8800e95bbf9962c3, 0x43d3cda0238499fd), 7819 /* => */ RTUINT256_INIT_C(10, 11, 0x01bf010e01a700d1, 0x0155013300fa01c9) }, 7832 { /*src2*/ RTUINT256_INIT_C(0xf1f2f3f4f5f6f7f8, 0xe1e2e3e4e5e6e7e8, 0xd1d2d3d4d5d6d7d8, 0xc1c2c3c4c5c6c7c8), 7833 /*src1*/ RTUINT256_INIT_C(0xb1b2b3b4b5b6b7b8, 0xa1a2a3a4a5a6a7a8, 0x9192939495969798, 0x8182838485868788), 7834 /* => */ RTUINT256_INIT_C(0x00fc00f800f400f0, 0x01040118012c0140, 0x00fc00f800f400f0, 0x01040118012c0140) }, 7835 7836 { /*src2*/ RTUINT256_INIT_C(0x4d09f02a6cdc73d5, 0x3ef417c8666b3fe6, 0xb4212fa8564c9ba2, 0x9c5ce073930996bb), 7837 /*src1*/ RTUINT256_INIT_C(0x1eddddac09633294, 0xf95c8eec40725633, 0x8800e95bbf9962c3, 0x43d3cda0238499fd), 7838 /* => */ RTUINT256_INIT_C(0x01c9025300f401c6, 0x016a00e1022f0223, 0x01bf010e01a700d1, 0x0155013300fa01c9) }, 7820 7839 }; 7821 7840 static BS3CPUINSTR3_TEST1_VALUES_T const s_aValues00[] = … … 7824 7843 /*src1*/ RTUINT256_INIT_C(0, 0, 0, 0), 7825 7844 /* => */ RTUINT256_INIT_C(0, 0, 0, 0) }, 7826 { /*src2*/ RTUINT256_INIT_C(0, 1, 0xd1d2d3d4d5d6d7d8, 0xc1c2c3c4c5c6c7c8), 7827 /*src1*/ RTUINT256_INIT_C(2, 3, 0x9192939495969798, 0x8182838485868788), 7828 /* => */ RTUINT256_INIT_C(4, 5, 0x00d400e800fc0110, 0x010c010801040100) }, 7829 { /*src2*/ RTUINT256_INIT_C(6, 7, 0xb4212fa8564c9ba2, 0x9c5ce073930996bb), 7830 /*src1*/ RTUINT256_INIT_C(8, 9, 0x8800e95bbf9962c3, 0x43d3cda0238499fd), 7831 /* => */ RTUINT256_INIT_C(10, 11, 0x0104015600b9016c, 0x01a6017b005b0130) }, 7845 { /*src2*/ RTUINT256_INIT_C(0xf1f2f3f4f5f6f7f8, 0xe1e2e3e4e5e6e7e8, 0xd1d2d3d4d5d6d7d8, 0xc1c2c3c4c5c6c7c8), 7846 /*src1*/ RTUINT256_INIT_C(0xb1b2b3b4b5b6b7b8, 0xa1a2a3a4a5a6a7a8, 0x9192939495969798, 0x8182838485868788), 7847 /* => */ RTUINT256_INIT_C(0x00d400e800fc0110, 0x010c010801040100, 0x00d400e800fc0110, 0x010c010801040100) }, 7848 7849 { /*src2*/ RTUINT256_INIT_C(0x4d09f02a6cdc73d5, 0x3ef417c8666b3fe6, 0xb4212fa8564c9ba2, 0x9c5ce073930996bb), 7850 /*src1*/ RTUINT256_INIT_C(0x1eddddac09633294, 0xf95c8eec40725633, 0x8800e95bbf9962c3, 0x43d3cda0238499fd), 7851 /* => */ RTUINT256_INIT_C(0x00a401a1013100f7, 0x0180011e017400f7, 0x0104015600b9016c, 0x01a6017b005b0130) }, 7832 7852 }; 7833 7853 … … 7838 7858 { bs3CpuInstr3_mpsadbw_XMM1_XMM2_000h_icebp_c16, 255, RM_REG, T_SSE4_1, 1, 1, 2, RT_ELEMENTS(s_aValues00), s_aValues00 }, 7839 7859 { bs3CpuInstr3_mpsadbw_XMM1_FSxBX_000h_icebp_c16, 255, RM_MEM, T_SSE4_1, 1, 1, 255, RT_ELEMENTS(s_aValues00), s_aValues00 }, 7860 7861 { bs3CpuInstr3_vmpsadbw_XMM1_XMM2_XMM3_0FFh_icebp_c16, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValuesFF), s_aValuesFF }, 7862 { bs3CpuInstr3_vmpsadbw_XMM1_XMM2_FSxBX_0FFh_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesFF), s_aValuesFF }, 7863 { bs3CpuInstr3_vmpsadbw_YMM1_YMM2_YMM3_0FFh_icebp_c16, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesFF), s_aValuesFF }, 7864 { bs3CpuInstr3_vmpsadbw_YMM1_YMM2_FSxBX_0FFh_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValuesFF), s_aValuesFF }, 7865 7866 { bs3CpuInstr3_vmpsadbw_XMM1_XMM2_XMM3_000h_icebp_c16, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues00), s_aValues00 }, 7867 { bs3CpuInstr3_vmpsadbw_XMM1_XMM2_FSxBX_000h_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues00), s_aValues00 }, 7868 { bs3CpuInstr3_vmpsadbw_YMM1_YMM2_YMM3_000h_icebp_c16, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues00), s_aValues00 }, 7869 { bs3CpuInstr3_vmpsadbw_YMM1_YMM2_FSxBX_000h_icebp_c16, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues00), s_aValues00 }, 7840 7870 }; 7841 7871 static BS3CPUINSTR3_TEST1_T const s_aTests32[] = … … 7845 7875 { bs3CpuInstr3_mpsadbw_XMM1_XMM2_000h_icebp_c32, 255, RM_REG, T_SSE4_1, 1, 1, 2, RT_ELEMENTS(s_aValues00), s_aValues00 }, 7846 7876 { bs3CpuInstr3_mpsadbw_XMM1_FSxBX_000h_icebp_c32, 255, RM_MEM, T_SSE4_1, 1, 1, 255, RT_ELEMENTS(s_aValues00), s_aValues00 }, 7877 7878 { bs3CpuInstr3_vmpsadbw_XMM1_XMM2_XMM3_0FFh_icebp_c32, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValuesFF), s_aValuesFF }, 7879 { bs3CpuInstr3_vmpsadbw_XMM1_XMM2_FSxBX_0FFh_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesFF), s_aValuesFF }, 7880 { bs3CpuInstr3_vmpsadbw_YMM1_YMM2_YMM3_0FFh_icebp_c32, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesFF), s_aValuesFF }, 7881 { bs3CpuInstr3_vmpsadbw_YMM1_YMM2_FSxBX_0FFh_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValuesFF), s_aValuesFF }, 7882 7883 { bs3CpuInstr3_vmpsadbw_XMM1_XMM2_XMM3_000h_icebp_c32, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues00), s_aValues00 }, 7884 { bs3CpuInstr3_vmpsadbw_XMM1_XMM2_FSxBX_000h_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues00), s_aValues00 }, 7885 { bs3CpuInstr3_vmpsadbw_YMM1_YMM2_YMM3_000h_icebp_c32, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues00), s_aValues00 }, 7886 { bs3CpuInstr3_vmpsadbw_YMM1_YMM2_FSxBX_000h_icebp_c32, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues00), s_aValues00 }, 7847 7887 }; 7848 7888 static BS3CPUINSTR3_TEST1_T const s_aTests64[] = … … 7857 7897 { bs3CpuInstr3_mpsadbw_XMM8_XMM9_000h_icebp_c64, 255, RM_REG, T_SSE4_1, 8, 8, 9, RT_ELEMENTS(s_aValues00), s_aValues00 }, 7858 7898 { bs3CpuInstr3_mpsadbw_XMM8_FSxBX_000h_icebp_c64, 255, RM_MEM, T_SSE4_1, 8, 8, 255, RT_ELEMENTS(s_aValues00), s_aValues00 }, 7899 7900 { bs3CpuInstr3_vmpsadbw_XMM1_XMM2_XMM3_0FFh_icebp_c64, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValuesFF), s_aValuesFF }, 7901 { bs3CpuInstr3_vmpsadbw_XMM1_XMM2_FSxBX_0FFh_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValuesFF), s_aValuesFF }, 7902 { bs3CpuInstr3_vmpsadbw_XMM8_XMM9_XMM10_0FFh_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 10, RT_ELEMENTS(s_aValuesFF), s_aValuesFF }, 7903 { bs3CpuInstr3_vmpsadbw_XMM8_XMM9_FSxBX_0FFh_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 8, 9, 255, RT_ELEMENTS(s_aValuesFF), s_aValuesFF }, 7904 { bs3CpuInstr3_vmpsadbw_YMM1_YMM2_YMM3_0FFh_icebp_c64, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValuesFF), s_aValuesFF }, 7905 { bs3CpuInstr3_vmpsadbw_YMM1_YMM2_FSxBX_0FFh_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValuesFF), s_aValuesFF }, 7906 { bs3CpuInstr3_vmpsadbw_YMM8_YMM9_YMM10_0FFh_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 10, RT_ELEMENTS(s_aValuesFF), s_aValuesFF }, 7907 { bs3CpuInstr3_vmpsadbw_YMM8_YMM9_FSxBX_0FFh_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 8, 9, 255, RT_ELEMENTS(s_aValuesFF), s_aValuesFF }, 7908 7909 { bs3CpuInstr3_vmpsadbw_XMM1_XMM2_XMM3_000h_icebp_c64, 255, RM_REG, T_AVX_128, 1, 2, 3, RT_ELEMENTS(s_aValues00), s_aValues00 }, 7910 { bs3CpuInstr3_vmpsadbw_XMM1_XMM2_FSxBX_000h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 1, 2, 255, RT_ELEMENTS(s_aValues00), s_aValues00 }, 7911 { bs3CpuInstr3_vmpsadbw_XMM8_XMM9_XMM10_000h_icebp_c64, 255, RM_REG, T_AVX_128, 8, 9, 10, RT_ELEMENTS(s_aValues00), s_aValues00 }, 7912 { bs3CpuInstr3_vmpsadbw_XMM8_XMM9_FSxBX_000h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX_128, 8, 9, 255, RT_ELEMENTS(s_aValues00), s_aValues00 }, 7913 { bs3CpuInstr3_vmpsadbw_YMM1_YMM2_YMM3_000h_icebp_c64, 255, RM_REG, T_AVX2_256, 1, 2, 3, RT_ELEMENTS(s_aValues00), s_aValues00 }, 7914 { bs3CpuInstr3_vmpsadbw_YMM1_YMM2_FSxBX_000h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 1, 2, 255, RT_ELEMENTS(s_aValues00), s_aValues00 }, 7915 { bs3CpuInstr3_vmpsadbw_YMM8_YMM9_YMM10_000h_icebp_c64, 255, RM_REG, T_AVX2_256, 8, 9, 10, RT_ELEMENTS(s_aValues00), s_aValues00 }, 7916 { bs3CpuInstr3_vmpsadbw_YMM8_YMM9_FSxBX_000h_icebp_c64, X86_XCPT_DB, RM_MEM, T_AVX2_256, 8, 9, 255, RT_ELEMENTS(s_aValues00), s_aValues00 }, 7859 7917 }; 7860 7918 static BS3CPUINSTR3_TEST1_MODE_T const s_aTests[3] = BS3CPUINSTR3_TEST1_MODES_INIT(s_aTests16, s_aTests32, s_aTests64); … … 13835 13893 #endif 13836 13894 #if defined (ALL_TESTS) 13837 { " mpsadbw",bs3CpuInstr3_v_mpsadbw, 0 },13895 { "[v]mpsadbw", bs3CpuInstr3_v_mpsadbw, 0 }, 13838 13896 13839 13897 #endif
Note:
See TracChangeset
for help on using the changeset viewer.