Changeset 106183 in vbox for trunk/src/VBox/ValidationKit
- Timestamp:
- Oct 1, 2024 1:42:19 AM (5 months ago)
- Location:
- trunk/src/VBox/ValidationKit/bootsectors
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/ValidationKit/bootsectors/bs3-cpu-instr-4-template.mac
r106148 r106183 648 648 EMIT_INSTR_PLUS_ICEBP_C64 vsqrtps, YMM8, FSxBX 649 649 650 ; 651 ;; [v]sqrtpd 652 ; 653 EMIT_INSTR_PLUS_ICEBP sqrtpd, XMM1, XMM2 654 EMIT_INSTR_PLUS_ICEBP sqrtpd, XMM1, FSxBX 655 EMIT_INSTR_PLUS_ICEBP_C64 sqrtpd, XMM8, XMM9 656 EMIT_INSTR_PLUS_ICEBP_C64 sqrtpd, XMM8, FSxBX 657 658 EMIT_INSTR_PLUS_ICEBP vsqrtpd, XMM1, XMM2 659 EMIT_INSTR_PLUS_ICEBP vsqrtpd, XMM1, FSxBX 660 EMIT_INSTR_PLUS_ICEBP_C64 vsqrtpd, XMM8, XMM9 661 EMIT_INSTR_PLUS_ICEBP_C64 vsqrtpd, XMM8, FSxBX 662 663 EMIT_INSTR_PLUS_ICEBP vsqrtpd, YMM1, YMM2 664 EMIT_INSTR_PLUS_ICEBP vsqrtpd, YMM1, FSxBX 665 EMIT_INSTR_PLUS_ICEBP_C64 vsqrtpd, YMM8, YMM9 666 EMIT_INSTR_PLUS_ICEBP_C64 vsqrtpd, YMM8, FSxBX 667 650 668 651 669 %endif ; BS3_INSTANTIATING_CMN -
trunk/src/VBox/ValidationKit/bootsectors/bs3-cpu-instr-4.c32
r106182 r106183 14039 14039 /** @todo Invalids. */ 14040 14040 /*23*/ /* FP32_TABLE_D10_PS_INVALIDS */ 14041 /** @todo Underflow , Precision; Rounding; FZ etc. */14041 /** @todo Underflow; Rounding; FZ etc. */ 14042 14042 }; 14043 14043 … … 14083 14083 { bs3CpuInstr4_vsqrtps_YMM8_YMM9_icebp_c64, 255, RM_REG, T_AVX_256, 8, 8, 9, PASS_s_aValues }, 14084 14084 { bs3CpuInstr4_vsqrtps_YMM8_FSxBX_icebp_c64, 255, RM_MEM, T_AVX_256, 8, 8, 255, PASS_s_aValues }, 14085 }; 14086 #undef PASS_s_aValues 14087 14088 static BS3CPUINSTR4_TEST1_MODE_T const s_aTests[3] = BS3CPUINSTR4_TEST1_MODES_INIT(s_aTests16, s_aTests32, s_aTests64); 14089 unsigned const iTest = BS3CPUINSTR4_TEST_MODES_INDEX(bMode); 14090 return bs3CpuInstr4_WorkerTestType1A(bMode, s_aTests[iTest].paTests, s_aTests[iTest].cTests, 14091 g_aXcptConfig2, RT_ELEMENTS(g_aXcptConfig2)); 14092 } 14093 14094 14095 /* 14096 * [V]SQRTPD. 14097 */ 14098 BS3_DECL_FAR(uint8_t) bs3CpuInstr4_v_sqrtpd(uint8_t bMode) 14099 { 14100 static BS3CPUINSTR4_TEST1_VALUES_PD_T const s_aValues[] = 14101 { 14102 /* 14103 * Zero. 14104 */ 14105 /* 0*/{ { /*src1 */ { FP64_0(0), FP64_0(0), FP64_0(1), FP64_0(1) } }, 14106 { /*unused */ { FP64_ROW_UNUSED } }, 14107 { /* => */ { FP64_0(0), FP64_0(0), FP64_0(1), FP64_0(1) } }, 14108 /*mxcsr:in */ X86_MXCSR_XCPT_MASK, 14109 /*128:out */ X86_MXCSR_XCPT_MASK, 14110 /*256:out */ X86_MXCSR_XCPT_MASK, 14111 /*xcpt? */ false, false }, 14112 { { /*src1 */ { FP64_0(0), FP64_0(1), FP64_0(0), FP64_0(1) } }, 14113 { /*unused */ { FP64_ROW_UNUSED } }, 14114 { /* => */ { FP64_0(0), FP64_0(1), FP64_0(0), FP64_0(1) } }, 14115 /*mxcsr:in */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_UP, 14116 /*128:out */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_UP, 14117 /*256:out */ X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_UP, 14118 /*xcpt? */ false, false }, 14119 { { /*src1 */ { FP64_0(1), FP64_0(1), FP64_0(0), FP64_0(0) } }, 14120 { /*unused */ { FP64_ROW_UNUSED } }, 14121 { /* => */ { FP64_0(1), FP64_0(1), FP64_0(0), FP64_0(0) } }, 14122 /*mxcsr:in */ X86_MXCSR_RC_ZERO, 14123 /*128:out */ X86_MXCSR_RC_ZERO, 14124 /*256:out */ X86_MXCSR_RC_ZERO, 14125 /*xcpt? */ false, false }, 14126 { { /*src1 */ { FP64_0(1), FP64_0(0), FP64_0(0), FP64_0(1) } }, 14127 { /*unused */ { FP64_ROW_UNUSED } }, 14128 { /* => */ { FP64_0(1), FP64_0(0), FP64_0(0), FP64_0(1) } }, 14129 /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN, 14130 /*128:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN, 14131 /*256:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_RC_DOWN, 14132 /*xcpt? */ false, false }, 14133 /* 14134 * Infinity. 14135 */ 14136 /* 4*/{ { /*src1 */ { FP64_INF(0), FP64_0(0), FP64_INF(1), FP64_0(0) } }, 14137 { /*unused */ { FP64_ROW_UNUSED } }, 14138 { /* => */ { FP64_INF(0), FP64_0(0), FP64_QNAN(1), FP64_0(0) } }, 14139 /*mxcsr:in */ 0, 14140 /*128:out */ 0, 14141 /*256:out */ X86_MXCSR_IE, 14142 /*xcpt? */ false, true }, 14143 /* 14144 * Precision (Overflow, Underflow not possible). 14145 */ 14146 /* 5*/{ { /*src1 */ { FP64_0(0), FP64_1(0), FP64_0(1), FP64_2(0) } }, 14147 { /*unused */ { FP64_ROW_UNUSED } }, 14148 { /* => */ { FP64_0(0), FP64_1(0), FP64_0(1), FP64_V(0,0x6a09e667f3bcd,0x3ff)/*sqrt(2)*/ } }, 14149 /*mxcsr:in */ 0, 14150 /*128:out */ 0, 14151 /*256:out */ X86_MXCSR_PE, 14152 /*xcpt? */ false, true }, 14153 { { /*src1 */ { FP64_0(0), FP64_1(0), FP64_0(1), FP64_2(0) } }, 14154 { /*unused */ { FP64_ROW_UNUSED } }, 14155 { /* => */ { FP64_0(0), FP64_1(0), FP64_0(1), FP64_V(0,0x6a09e667f3bcc,0x3ff)/*sqrt(2)v*/ } }, 14156 /*mxcsr:in */ X86_MXCSR_PM | X86_MXCSR_RC_DOWN, 14157 /*128:out */ X86_MXCSR_PM | X86_MXCSR_RC_DOWN, 14158 /*256:out */ X86_MXCSR_PM | X86_MXCSR_RC_DOWN | X86_MXCSR_PE, 14159 /*xcpt? */ false, false }, 14160 { { /*src1 */ { FP64_0(0), FP64_1(0), FP64_0(1), FP64_2(0) } }, 14161 { /*unused */ { FP64_ROW_UNUSED } }, 14162 { /* => */ { FP64_0(0), FP64_1(0), FP64_0(1), FP64_V(0,0x6a09e667f3bcd,0x3ff)/*sqrt(2)*/ } }, 14163 /*mxcsr:in */ X86_MXCSR_PM | X86_MXCSR_RC_UP, 14164 /*128:out */ X86_MXCSR_PM | X86_MXCSR_RC_UP, 14165 /*256:out */ X86_MXCSR_PM | X86_MXCSR_RC_UP | X86_MXCSR_PE, 14166 /*xcpt? */ false, false }, 14167 { { /*src1 */ { FP64_0(0), FP64_1(0), FP64_0(1), FP64_2(0) } }, 14168 { /*unused */ { FP64_ROW_UNUSED } }, 14169 { /* => */ { FP64_0(0), FP64_1(0), FP64_0(1), FP64_V(0,0x6a09e667f3bcc,0x3ff)/*sqrt(2)v*/ } }, 14170 /*mxcsr:in */ X86_MXCSR_PM | X86_MXCSR_RC_ZERO, 14171 /*128:out */ X86_MXCSR_PM | X86_MXCSR_RC_ZERO, 14172 /*256:out */ X86_MXCSR_PM | X86_MXCSR_RC_ZERO | X86_MXCSR_PE, 14173 /*xcpt? */ false, false }, 14174 { { /*src1 */ { FP64_0(0), FP64_1(0), FP64_0(1), FP64_2(0) } }, 14175 { /*unused */ { FP64_ROW_UNUSED } }, 14176 { /* => */ { FP64_0(0), FP64_1(0), FP64_0(1), FP64_V(0,0x6a09e667f3bcd,0x3ff)/*sqrt(2)*/ } }, 14177 /*mxcsr:in */ X86_MXCSR_PM | X86_MXCSR_FZ | X86_MXCSR_DAZ, 14178 /*128:out */ X86_MXCSR_PM | X86_MXCSR_FZ | X86_MXCSR_DAZ, 14179 /*256:out */ X86_MXCSR_PM | X86_MXCSR_FZ | X86_MXCSR_DAZ | X86_MXCSR_PE, 14180 /*xcpt? */ false, false }, 14181 /* 14182 * Normals. 14183 */ 14184 /*10*/{ { /*src1 */ { FP64_NORM_V0(0), FP64_NORM_V1(0), FP64_NORM_V2(0), FP64_NORM_V3(0) } }, 14185 { /*unused */ { FP64_ROW_UNUSED } }, 14186 { /* => */ { FP64_V(0,0x4b4cf5d7baa8f,0x200)/*sqrt(FP64_NORM_V0)*/, 14187 FP64_V(0,0x64b5ec5f93a20,0x516)/*sqrt(FP64_NORM_V1)*/, 14188 FP64_V(0,0x568cddb7b5f47,0x5fe)/*sqrt(FP64_NORM_V2)*/, 14189 FP64_V(0,0x4ebe86dd38102,0x440)/*sqrt(FP64_NORM_V3)*/ } }, 14190 /*mxcsr:in */ X86_MXCSR_XCPT_MASK, 14191 /*128:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_PE, 14192 /*256:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_PE, 14193 /*xcpt? */ false, false }, 14194 { { /*src1 */ { FP64_V(0,0xf46c4c48b9b90,0x42f)/*23456789^2*/, 14195 FP64_V(0,0x153e1f1867880,0x408)/*(12345678/524288)^2*/, 14196 FP64_V(0,0xf46c4c48b9ba0,0x42f)/*23456789^2+1*/, 14197 FP64_V(0,0x153e1f186787f,0x408)/*(12345678/524288)^2-epsilon*/ } }, 14198 { /*unused */ { FP64_ROW_UNUSED } }, 14199 { /* => */ { FP64_V(0,0x65ec150000000,0x417)/*23456789*/, 14200 FP64_V(0,0x78c29c0000000,0x403)/*12345678/524288*/, 14201 FP64_V(0,0x65ec150000006,0x417)/*23456789+*/, 14202 FP64_V(0,0x78c29bfffffff,0x403)/*12345678/524288-*/ } }, 14203 /*mxcsr:in */ X86_MXCSR_XCPT_MASK, 14204 /*128:out */ X86_MXCSR_XCPT_MASK, 14205 /*256:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_PE, 14206 /*xcpt? */ false, false }, 14207 { { /*src1 */ { FP64_V(0,0xf46c4c48b9b90,0x42f)/*23456789^2*/, 14208 FP64_V(0,0x153e1f1867880,0x408)/*(12345678/524288)^2*/, 14209 FP64_V(0,0xf46c4c48b9ba0,0x42f)/*23456789^2+1*/, 14210 FP64_V(0,0x153e1f186787f,0x408)/*(12345678/524288)^2-epsilon*/ } }, 14211 { /*unused */ { FP64_ROW_UNUSED } }, 14212 { /* => */ { FP64_V(0,0x65ec150000000,0x417)/*23456789*/, 14213 FP64_V(0,0x78c29c0000000,0x403)/*12345678/524288*/, 14214 FP64_V(0,0x65ec150000005,0x417)/*23456789+[DOWN]*/, 14215 FP64_V(0,0x78c29bfffffff,0x403)/*12345678/524288-*/ } }, 14216 /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_DOWN, 14217 /*128:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_DOWN, 14218 /*256:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_PE | X86_MXCSR_RC_DOWN, 14219 /*xcpt? */ false, false }, 14220 { { /*src1 */ { FP64_V(0,0xf46c4c48b9b90,0x42f)/*23456789^2*/, 14221 FP64_V(0,0x153e1f1867880,0x408)/*(12345678/524288)^2*/, 14222 FP64_V(0,0xf46c4c48b9ba0,0x42f)/*23456789^2+1*/, 14223 FP64_V(0,0x153e1f186787f,0x408)/*(12345678/524288)^2-epsilon*/ } }, 14224 { /*unused */ { FP64_ROW_UNUSED } }, 14225 { /* => */ { FP64_V(0,0x65ec150000000,0x417)/*23456789*/, 14226 FP64_V(0,0x78c29c0000000,0x403)/*12345678/524288*/, 14227 FP64_V(0,0x65ec150000006,0x417)/*23456789+*/, 14228 FP64_V(0,0x78c29c0000000,0x403)/*12345678/524288[UP]*/ } }, 14229 /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_UP, 14230 /*128:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_UP, 14231 /*256:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_PE | X86_MXCSR_RC_UP, 14232 /*xcpt? */ false, false }, 14233 { { /*src1 */ { FP64_V(0,0xf46c4c48b9b90,0x42f)/*23456789^2*/, 14234 FP64_V(0,0x153e1f1867880,0x408)/*(12345678/524288)^2*/, 14235 FP64_V(0,0xf46c4c48b9ba0,0x42f)/*23456789^2+1*/, 14236 FP64_V(0,0x153e1f186787f,0x408)/*(12345678/524288)^2-epsilon*/ } }, 14237 { /*unused */ { FP64_ROW_UNUSED } }, 14238 { /* => */ { FP64_V(0,0x65ec150000000,0x417)/*23456789*/, 14239 FP64_V(0,0x78c29c0000000,0x403)/*12345678/524288*/, 14240 FP64_V(0,0x65ec150000005,0x417)/*23456789+[ZERO]*/, 14241 FP64_V(0,0x78c29bfffffff,0x403)/*12345678/524288-*/ } }, 14242 /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO, 14243 /*128:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO, 14244 /*256:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_PE | X86_MXCSR_RC_ZERO, 14245 /*xcpt? */ false, false }, 14246 { { /*src1 */ { FP64_NORM_MAX(0), 14247 FP64_NORM_MIN(0), 14248 FP64_NORM_MAX(1), 14249 FP64_NORM_MIN(1) } }, 14250 { /*unused */ { FP64_ROW_UNUSED } }, 14251 { /* => */ { FP64_V(0,0xfffffffffffff,0x5fe)/*sqrt(FP64_NORM_MAX)*/, 14252 FP64_V(0,0x0,0x200)/*sqrt(FP64_NORM_MIN)*/, 14253 FP64_QNAN(1), 14254 FP64_QNAN(1) } }, 14255 /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ, 14256 /*128:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_PE, 14257 /*256:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ | X86_MXCSR_FZ | X86_MXCSR_PE | X86_MXCSR_IE | BS3_MXCSR_PE_FUZZY /* IEM */, 14258 /*xcpt? */ false, false }, 14259 /** @todo More Normals. */ 14260 /* 14261 * Denormals. 14262 */ 14263 /*16*/{ { /*src1 */ { FP64_DENORM_MAX(0), FP64_0(0), FP64_0(1), FP64_DENORM_MAX(1) } }, 14264 { /*unused */ { FP64_ROW_UNUSED } }, 14265 { /* => */ { FP64_V(0,0xfffffffffffff,0x1ff), FP64_0(0), FP64_0(1), FP64_QNAN(1) } }, 14266 /*mxcsr:in */ 0, 14267 /*128:out */ X86_MXCSR_DE | X86_MXCSR_PE, 14268 /*256:out */ X86_MXCSR_DE | X86_MXCSR_IE | X86_MXCSR_PE | BS3_MXCSR_PE_FUZZY /* IEM */, 14269 /*xcpt? */ true, true }, 14270 { { /*src1 */ { FP64_DENORM_MIN(0), FP64_0(0), FP64_0(1), FP64_DENORM_MIN(1) } }, 14271 { /*unused */ { FP64_ROW_UNUSED } }, 14272 { /* => */ { FP64_V(0,0x0,0x1e6), FP64_0(0), FP64_0(1), FP64_QNAN(1) } }, 14273 /*mxcsr:in */ 0, 14274 /*128:out */ X86_MXCSR_DE, 14275 /*256:out */ X86_MXCSR_DE | X86_MXCSR_IE, 14276 /*xcpt? */ true, true }, 14277 { { /*src1 */ { FP64_DENORM_MIN(0), FP64_DENORM_MAX(0), FP64_DENORM_MIN(1), FP64_DENORM_MAX(1) } }, 14278 { /*unused */ { FP64_ROW_UNUSED } }, 14279 { /* => */ { FP64_V(0,0x0,0x1e6), FP64_V(0,0xfffffffffffff,0x1ff), FP64_QNAN(1), FP64_QNAN(1) } }, 14280 /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_UP, 14281 /*128:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DE | X86_MXCSR_PE | X86_MXCSR_RC_UP, 14282 /*256:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DE | X86_MXCSR_IE | X86_MXCSR_PE | X86_MXCSR_RC_UP | BS3_MXCSR_PE_FUZZY /* IEM */, 14283 /*xcpt? */ false, false }, 14284 { { /*src1 */ { FP64_DENORM_MIN(0), FP64_DENORM_MAX(0), FP64_DENORM_MIN(1), FP64_DENORM_MAX(1) } }, 14285 { /*unused */ { FP64_ROW_UNUSED } }, 14286 { /* => */ { FP64_V(0,0x0,0x1e6), FP64_V(0,0xffffffffffffe,0x1ff), FP64_QNAN(1), FP64_QNAN(1) } }, 14287 /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_DOWN, 14288 /*128:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DE | X86_MXCSR_PE | X86_MXCSR_RC_DOWN, 14289 /*256:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DE | X86_MXCSR_IE | X86_MXCSR_PE | X86_MXCSR_RC_DOWN | BS3_MXCSR_PE_FUZZY /* IEM */, 14290 /*xcpt? */ false, false }, 14291 { { /*src1 */ { FP64_DENORM_MIN(0), FP64_DENORM_MAX(0), FP64_DENORM_MIN(1), FP64_DENORM_MAX(1) } }, 14292 { /*unused */ { FP64_ROW_UNUSED } }, 14293 { /* => */ { FP64_V(0,0x0,0x1e6), FP64_V(0,0xffffffffffffe,0x1ff), FP64_QNAN(1), FP64_QNAN(1) } }, 14294 /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_RC_ZERO, 14295 /*128:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DE | X86_MXCSR_PE | X86_MXCSR_RC_ZERO, 14296 /*256:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DE | X86_MXCSR_IE | X86_MXCSR_PE | X86_MXCSR_RC_ZERO | BS3_MXCSR_PE_FUZZY /* IEM */, 14297 /*xcpt? */ false, false }, 14298 { { /*src1 */ { FP64_DENORM_MIN(0), FP64_DENORM_MAX(0), FP64_DENORM_MIN(1), FP64_DENORM_MAX(1) } }, 14299 { /*unused */ { FP64_ROW_UNUSED } }, 14300 { /* => */ { FP64_V(0,0x0,0x1e6), FP64_V(0,0xfffffffffffff,0x1ff), FP64_QNAN(1), FP64_QNAN(1) } }, 14301 /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_FZ, 14302 /*128:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DE | X86_MXCSR_PE | X86_MXCSR_FZ, 14303 /*256:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DE | X86_MXCSR_IE | X86_MXCSR_PE | X86_MXCSR_FZ | BS3_MXCSR_PE_FUZZY /* IEM */, 14304 /*xcpt? */ false, false }, 14305 { { /*src1 */ { FP64_DENORM_MIN(0), FP64_DENORM_MAX(0), FP64_DENORM_MIN(1), FP64_DENORM_MAX(1) } }, 14306 { /*unused */ { FP64_ROW_UNUSED } }, 14307 { /* => */ { FP64_0(0), FP64_0(0), FP64_0(1), FP64_0(1), } }, 14308 /*mxcsr:in */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ, 14309 /*128:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ, 14310 /*256:out */ X86_MXCSR_XCPT_MASK | X86_MXCSR_DAZ, 14311 /*xcpt? */ false, false }, 14312 /** @todo More Denormals. */ 14313 /* 14314 * Invalids. 14315 */ 14316 /** @todo Invalids. */ 14317 /*23*/ /* FP64_TABLE_D10_PS_INVALIDS */ 14318 /** @todo Underflow; Rounding; FZ etc. */ 14319 }; 14320 14321 #define PASS_s_aValues RT_ELEMENTS(s_aValues), (BS3CPUINSTR4_TEST1_VALUES_T *)s_aValues 14322 static BS3CPUINSTR4_TEST1_T const s_aTests16[] = 14323 { 14324 { bs3CpuInstr4_sqrtpd_XMM1_XMM2_icebp_c16, 255, RM_REG, T_SSE, 1, 1, 2, PASS_s_aValues }, 14325 { bs3CpuInstr4_sqrtpd_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_SSE, 1, 1, 255, PASS_s_aValues }, 14326 14327 { bs3CpuInstr4_vsqrtpd_XMM1_XMM2_icebp_c16, 255, RM_REG, T_AVX_128, 1, 1, 2, PASS_s_aValues }, 14328 { bs3CpuInstr4_vsqrtpd_XMM1_FSxBX_icebp_c16, 255, RM_MEM, T_AVX_128, 1, 1, 255, PASS_s_aValues }, 14329 14330 { bs3CpuInstr4_vsqrtpd_YMM1_YMM2_icebp_c16, 255, RM_REG, T_AVX_256, 1, 1, 2, PASS_s_aValues }, 14331 { bs3CpuInstr4_vsqrtpd_YMM1_FSxBX_icebp_c16, 255, RM_MEM, T_AVX_256, 1, 1, 255, PASS_s_aValues }, 14332 }; 14333 static BS3CPUINSTR4_TEST1_T const s_aTests32[] = 14334 { 14335 { bs3CpuInstr4_sqrtpd_XMM1_XMM2_icebp_c32, 255, RM_REG, T_SSE, 1, 1, 2, PASS_s_aValues }, 14336 { bs3CpuInstr4_sqrtpd_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_SSE, 1, 1, 255, PASS_s_aValues }, 14337 14338 { bs3CpuInstr4_vsqrtpd_XMM1_XMM2_icebp_c32, 255, RM_REG, T_AVX_128, 1, 1, 2, PASS_s_aValues }, 14339 { bs3CpuInstr4_vsqrtpd_XMM1_FSxBX_icebp_c32, 255, RM_MEM, T_AVX_128, 1, 1, 255, PASS_s_aValues }, 14340 14341 { bs3CpuInstr4_vsqrtpd_YMM1_YMM2_icebp_c32, 255, RM_REG, T_AVX_256, 1, 1, 2, PASS_s_aValues }, 14342 { bs3CpuInstr4_vsqrtpd_YMM1_FSxBX_icebp_c32, 255, RM_MEM, T_AVX_256, 1, 1, 255, PASS_s_aValues }, 14343 }; 14344 static BS3CPUINSTR4_TEST1_T const s_aTests64[] = 14345 { 14346 { bs3CpuInstr4_sqrtpd_XMM1_XMM2_icebp_c64, 255, RM_REG, T_SSE, 1, 1, 2, PASS_s_aValues }, 14347 { bs3CpuInstr4_sqrtpd_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_SSE, 1, 1, 255, PASS_s_aValues }, 14348 14349 { bs3CpuInstr4_vsqrtpd_XMM1_XMM2_icebp_c64, 255, RM_REG, T_AVX_128, 1, 1, 2, PASS_s_aValues }, 14350 { bs3CpuInstr4_vsqrtpd_XMM1_FSxBX_icebp_c64, 255, RM_MEM, T_AVX_128, 1, 1, 255, PASS_s_aValues }, 14351 14352 { bs3CpuInstr4_vsqrtpd_YMM1_YMM2_icebp_c64, 255, RM_REG, T_AVX_256, 1, 1, 2, PASS_s_aValues }, 14353 { bs3CpuInstr4_vsqrtpd_YMM1_FSxBX_icebp_c64, 255, RM_MEM, T_AVX_256, 1, 1, 255, PASS_s_aValues }, 14354 14355 { bs3CpuInstr4_sqrtpd_XMM8_XMM9_icebp_c64, 255, RM_REG, T_SSE, 8, 8, 9, PASS_s_aValues }, 14356 { bs3CpuInstr4_sqrtpd_XMM8_FSxBX_icebp_c64, 255, RM_MEM, T_SSE, 8, 8, 255, PASS_s_aValues }, 14357 14358 { bs3CpuInstr4_vsqrtpd_XMM8_XMM9_icebp_c64, 255, RM_REG, T_AVX_128, 8, 8, 9, PASS_s_aValues }, 14359 { bs3CpuInstr4_vsqrtpd_XMM8_FSxBX_icebp_c64, 255, RM_MEM, T_AVX_128, 8, 8, 255, PASS_s_aValues }, 14360 { bs3CpuInstr4_vsqrtpd_YMM8_YMM9_icebp_c64, 255, RM_REG, T_AVX_256, 8, 8, 9, PASS_s_aValues }, 14361 { bs3CpuInstr4_vsqrtpd_YMM8_FSxBX_icebp_c64, 255, RM_MEM, T_AVX_256, 8, 8, 255, PASS_s_aValues }, 14085 14362 }; 14086 14363 #undef PASS_s_aValues … … 14143 14420 { "[v]minsd", bs3CpuInstr4_v_minsd, 0 }, 14144 14421 { "[v]sqrtps", bs3CpuInstr4_v_sqrtps, 0 }, 14422 { "[v]sqrtpd", bs3CpuInstr4_v_sqrtpd, 0 }, 14145 14423 #endif 14146 14424 };
Note:
See TracChangeset
for help on using the changeset viewer.