Changeset 94423 in vbox for trunk/src/VBox/VMM
- Timestamp:
- Mar 31, 2022 10:59:46 PM (3 years ago)
- Location:
- trunk/src/VBox/VMM
- Files:
-
- 2 added
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/IEMAllAImplC.cpp
r94420 r94423 4476 4476 4477 4477 #if defined(IEM_WITHOUT_ASSEMBLY) 4478 4479 4478 IEM_DECL_IMPL_DEF(void, iemAImpl_fptan_r80_r80,(PCX86FXSTATE pFpuState, PIEMFPURESULTTWO pFpuResTwo, PCRTFLOAT80U pr80Val)) 4480 4479 { … … 4482 4481 AssertReleaseFailed(); 4483 4482 } 4484 4485 4483 #endif /* IEM_WITHOUT_ASSEMBLY */ 4484 4485 IEM_DECL_IMPL_DEF(void, iemAImpl_fptan_r80_r80_amd,(PCX86FXSTATE pFpuState, PIEMFPURESULTTWO pFpuResTwo, PCRTFLOAT80U pr80Val)) 4486 { 4487 iemAImpl_fptan_r80_r80(pFpuState, pFpuResTwo, pr80Val); 4488 } 4489 4490 IEM_DECL_IMPL_DEF(void, iemAImpl_fptan_r80_r80_intel,(PCX86FXSTATE pFpuState, PIEMFPURESULTTWO pFpuResTwo, PCRTFLOAT80U pr80Val)) 4491 { 4492 iemAImpl_fptan_r80_r80(pFpuState, pFpuResTwo, pr80Val); 4493 } 4494 4495 4496 #ifdef IEM_WITHOUT_ASSEMBLY 4486 4497 IEM_DECL_IMPL_DEF(void, iemAImpl_fsin_r80,(PCX86FXSTATE pFpuState, PIEMFPURESULT pFpuRes, PCRTFLOAT80U pr80Val)) 4487 4498 { … … 4489 4500 AssertReleaseFailed(); 4490 4501 } 4491 4492 4502 #endif /* IEM_WITHOUT_ASSEMBLY */ 4503 4504 IEM_DECL_IMPL_DEF(void, iemAImpl_fsin_r80_amd,(PCX86FXSTATE pFpuState, PIEMFPURESULT pFpuRes, PCRTFLOAT80U pr80Val)) 4505 { 4506 iemAImpl_fsin_r80(pFpuState, pFpuRes, pr80Val); 4507 } 4508 4509 IEM_DECL_IMPL_DEF(void, iemAImpl_fsin_r80_intel,(PCX86FXSTATE pFpuState, PIEMFPURESULT pFpuRes, PCRTFLOAT80U pr80Val)) 4510 { 4511 iemAImpl_fsin_r80(pFpuState, pFpuRes, pr80Val); 4512 } 4513 4514 #ifdef IEM_WITHOUT_ASSEMBLY 4493 4515 IEM_DECL_IMPL_DEF(void, iemAImpl_fsincos_r80_r80,(PCX86FXSTATE pFpuState, PIEMFPURESULTTWO pFpuResTwo, PCRTFLOAT80U pr80Val)) 4494 4516 { … … 4496 4518 AssertReleaseFailed(); 4497 4519 } 4498 4499 4520 #endif /* IEM_WITHOUT_ASSEMBLY */ 4521 4522 IEM_DECL_IMPL_DEF(void, iemAImpl_fsincos_r80_r80_amd,(PCX86FXSTATE pFpuState, PIEMFPURESULTTWO pFpuResTwo, PCRTFLOAT80U pr80Val)) 4523 { 4524 iemAImpl_fsincos_r80_r80(pFpuState, pFpuResTwo, pr80Val); 4525 } 4526 4527 IEM_DECL_IMPL_DEF(void, iemAImpl_fsincos_r80_r80_intel,(PCX86FXSTATE pFpuState, PIEMFPURESULTTWO pFpuResTwo, PCRTFLOAT80U pr80Val)) 4528 { 4529 iemAImpl_fsincos_r80_r80(pFpuState, pFpuResTwo, pr80Val); 4530 } 4531 4532 4533 #ifdef IEM_WITHOUT_ASSEMBLY 4500 4534 IEM_DECL_IMPL_DEF(void, iemAImpl_fcos_r80,(PCX86FXSTATE pFpuState, PIEMFPURESULT pFpuRes, PCRTFLOAT80U pr80Val)) 4501 4535 { … … 4503 4537 AssertReleaseFailed(); 4504 4538 } 4539 #endif /* IEM_WITHOUT_ASSEMBLY */ 4540 4541 IEM_DECL_IMPL_DEF(void, iemAImpl_fcos_r80_amd,(PCX86FXSTATE pFpuState, PIEMFPURESULT pFpuRes, PCRTFLOAT80U pr80Val)) 4542 { 4543 iemAImpl_fcos_r80(pFpuState, pFpuRes, pr80Val); 4544 } 4545 4546 IEM_DECL_IMPL_DEF(void, iemAImpl_fcos_r80_intel,(PCX86FXSTATE pFpuState, PIEMFPURESULT pFpuRes, PCRTFLOAT80U pr80Val)) 4547 { 4548 iemAImpl_fcos_r80(pFpuState, pFpuRes, pr80Val); 4549 } 4550 4551 #ifdef IEM_WITHOUT_ASSEMBLY 4505 4552 4506 4553 … … 4622 4669 } 4623 4670 4671 #endif /* IEM_WITHOUT_ASSEMBLY */ 4672 4673 IEM_DECL_IMPL_DEF(void, iemAImpl_f2xm1_r80_amd,(PCX86FXSTATE pFpuState, PIEMFPURESULT pFpuRes, PCRTFLOAT80U pr80Val)) 4674 { 4675 iemAImpl_f2xm1_r80(pFpuState, pFpuRes, pr80Val); 4676 } 4677 4678 IEM_DECL_IMPL_DEF(void, iemAImpl_f2xm1_r80_intel,(PCX86FXSTATE pFpuState, PIEMFPURESULT pFpuRes, PCRTFLOAT80U pr80Val)) 4679 { 4680 iemAImpl_f2xm1_r80(pFpuState, pFpuRes, pr80Val); 4681 } 4682 4683 #ifdef IEM_WITHOUT_ASSEMBLY 4624 4684 4625 4685 IEM_DECL_IMPL_DEF(void, iemAImpl_fabs_r80,(PCX86FXSTATE pFpuState, PIEMFPURESULT pFpuRes, PCRTFLOAT80U pr80Val)) -
trunk/src/VBox/VMM/include/IEMInternal.h
r94416 r94423 1419 1419 FNIEMAIMPLFPUR80UNARY iemAImpl_fabs_r80; 1420 1420 FNIEMAIMPLFPUR80UNARY iemAImpl_fchs_r80; 1421 FNIEMAIMPLFPUR80UNARY iemAImpl_f2xm1_r80 ;1421 FNIEMAIMPLFPUR80UNARY iemAImpl_f2xm1_r80, iemAImpl_f2xm1_r80_amd, iemAImpl_f2xm1_r80_intel; 1422 1422 FNIEMAIMPLFPUR80UNARY iemAImpl_fsqrt_r80; 1423 1423 FNIEMAIMPLFPUR80UNARY iemAImpl_frndint_r80; 1424 FNIEMAIMPLFPUR80UNARY iemAImpl_fsin_r80 ;1425 FNIEMAIMPLFPUR80UNARY iemAImpl_fcos_r80 ;1424 FNIEMAIMPLFPUR80UNARY iemAImpl_fsin_r80, iemAImpl_fsin_r80_amd, iemAImpl_fsin_r80_intel; 1425 FNIEMAIMPLFPUR80UNARY iemAImpl_fcos_r80, iemAImpl_fcos_r80_amd, iemAImpl_fcos_r80_intel; 1426 1426 1427 1427 typedef IEM_DECL_IMPL_TYPE(void, FNIEMAIMPLFPUR80UNARYFSW,(PCX86FXSTATE pFpuState, uint16_t *pu16Fsw, PCRTFLOAT80U pr80Val)); … … 1443 1443 PCRTFLOAT80U pr80Val)); 1444 1444 typedef FNIEMAIMPLFPUR80UNARYTWO *PFNIEMAIMPLFPUR80UNARYTWO; 1445 FNIEMAIMPLFPUR80UNARYTWO iemAImpl_fptan_r80_r80 ;1445 FNIEMAIMPLFPUR80UNARYTWO iemAImpl_fptan_r80_r80, iemAImpl_fptan_r80_r80_amd, iemAImpl_fptan_r80_r80_intel; 1446 1446 FNIEMAIMPLFPUR80UNARYTWO iemAImpl_fxtract_r80_r80; 1447 FNIEMAIMPLFPUR80UNARYTWO iemAImpl_fsincos_r80_r80 ;1447 FNIEMAIMPLFPUR80UNARYTWO iemAImpl_fsincos_r80_r80, iemAImpl_fsincos_r80_r80_amd, iemAImpl_fsincos_r80_r80_intel; 1448 1448 1449 1449 IEM_DECL_IMPL_DEF(void, iemAImpl_fld_r80_from_r80,(PCX86FXSTATE pFpuState, PIEMFPURESULT pFpuRes, PCRTFLOAT80U pr80Val)); -
trunk/src/VBox/VMM/testcase/Makefile.kmk
r94416 r94423 258 258 $(tstIEMAImpl_0_OUTDIR)/tstIEMAImplDataFpuBinary1-Intel.cpp \ 259 259 $(tstIEMAImpl_0_OUTDIR)/tstIEMAImplDataFpuBinary2.cpp \ 260 $(tstIEMAImpl_0_OUTDIR)/tstIEMAImplDataFpuOther.cpp 260 $(tstIEMAImpl_0_OUTDIR)/tstIEMAImplDataFpuOther.cpp \ 261 $(tstIEMAImpl_0_OUTDIR)/tstIEMAImplDataFpuOther-Amd.cpp \ 262 $(tstIEMAImpl_0_OUTDIR)/tstIEMAImplDataFpuOther-Intel.cpp 261 263 tstIEMAImpl_SOURCES = \ 262 264 tstIEMAImpl.cpp \ … … 302 304 $(evalcall2 def_tstIEMAImplData_adjust,FpuBinary2) 303 305 $(evalcall2 def_tstIEMAImplData_adjust,FpuOther) 306 $(evalcall2 def_tstIEMAImplData_adjust,FpuOther-Amd) 307 $(evalcall2 def_tstIEMAImplData_adjust,FpuOther-Intel) 304 308 305 309 -
trunk/src/VBox/VMM/testcase/tstIEMAImpl.cpp
r94418 r94423 3464 3464 ENTRY(fabs_r80), 3465 3465 ENTRY(fchs_r80), 3466 ENTRY(f2xm1_r80), 3466 ENTRY_AMD( f2xm1_r80, 0), // C1 differs for -1m0x3fb263cc2c331e15^-2654 3467 ENTRY_INTEL(f2xm1_r80, 0), 3467 3468 ENTRY(fsqrt_r80), 3468 3469 ENTRY(frndint_r80), 3469 ENTRY(fsin_r80), 3470 ENTRY(fcos_r80), 3470 ENTRY_AMD( fsin_r80, 0), // value & C1 differences for pseudo denormals and others (e.g. -1m0x2b1e5683cbca5725^-3485) 3471 ENTRY_INTEL(fsin_r80, 0), 3472 ENTRY_AMD( fcos_r80, 0), // value & C1 differences 3473 ENTRY_INTEL(fcos_r80, 0), 3471 3474 }; 3472 3475 … … 3693 3696 static const FPU_UNARY_TWO_R80_T g_aFpuUnaryTwoR80[] = 3694 3697 { 3695 ENTRY(fptan_r80_r80), 3698 ENTRY_AMD( fptan_r80_r80, 0), // rounding differences 3699 ENTRY_INTEL(fptan_r80_r80, 0), 3696 3700 ENTRY(fxtract_r80_r80), 3697 ENTRY(fsincos_r80_r80), 3701 ENTRY_AMD( fsincos_r80_r80, 0), // C1 differences & value differences (e.g. -1m0x235cf2f580244a27^-1696) 3702 ENTRY_INTEL(fsincos_r80_r80, 0), 3698 3703 }; 3699 3704 … … 4074 4079 const char *pszDataFile = fCommonData ? "tstIEMAImplDataFpuOther.cpp" : pszBitBucket; 4075 4080 PRTSTREAM pStrmData = GenerateOpenWithHdr(pszDataFile, szCpuDesc, NULL); 4076 const char *pszDataCpuFile = pszBitBucket /*!fCpuData ? pszBitBucket : g_idxCpuEflFlavour == IEMTARGETCPU_EFL_BEHAVIOR_AMD4077 ? "tstIEMAImplDataFpuOther-Amd.cpp" : "tstIEMAImplDataFpuOther-Intel.cpp" */;4081 const char *pszDataCpuFile = !fCpuData ? pszBitBucket : g_idxCpuEflFlavour == IEMTARGETCPU_EFL_BEHAVIOR_AMD 4082 ? "tstIEMAImplDataFpuOther-Amd.cpp" : "tstIEMAImplDataFpuOther-Intel.cpp"; 4078 4083 PRTSTREAM pStrmDataCpu = GenerateOpenWithHdr(pszDataCpuFile, szCpuDesc, pszCpuType); 4079 4084 if (!pStrmData || !pStrmDataCpu) -
trunk/src/VBox/VMM/testcase/tstIEMAImpl.h
r94416 r94423 692 692 TSTIEM_DECLARE_TEST_ARRAY(FpuOther, FPU_UNARY_R80_TEST_T, fabs_r80 ); 693 693 TSTIEM_DECLARE_TEST_ARRAY(FpuOther, FPU_UNARY_R80_TEST_T, fchs_r80 ); 694 TSTIEM_DECLARE_TEST_ARRAY(FpuOther, FPU_UNARY_R80_TEST_T, f2xm1_r80 ); 694 TSTIEM_DECLARE_TEST_ARRAY(FpuOther-Amd, FPU_UNARY_R80_TEST_T, f2xm1_r80_amd ); 695 TSTIEM_DECLARE_TEST_ARRAY(FpuOther-Intel, FPU_UNARY_R80_TEST_T, f2xm1_r80_intel ); 695 696 TSTIEM_DECLARE_TEST_ARRAY(FpuOther, FPU_UNARY_R80_TEST_T, fsqrt_r80 ); 696 697 TSTIEM_DECLARE_TEST_ARRAY(FpuOther, FPU_UNARY_R80_TEST_T, frndint_r80 ); 697 TSTIEM_DECLARE_TEST_ARRAY(FpuOther, FPU_UNARY_R80_TEST_T, fsin_r80 ); 698 TSTIEM_DECLARE_TEST_ARRAY(FpuOther, FPU_UNARY_R80_TEST_T, fcos_r80 ); 698 TSTIEM_DECLARE_TEST_ARRAY(FpuOther-Amd, FPU_UNARY_R80_TEST_T, fsin_r80_amd ); 699 TSTIEM_DECLARE_TEST_ARRAY(FpuOther-Intel, FPU_UNARY_R80_TEST_T, fsin_r80_intel ); 700 TSTIEM_DECLARE_TEST_ARRAY(FpuOther-Amd, FPU_UNARY_R80_TEST_T, fcos_r80_amd ); 701 TSTIEM_DECLARE_TEST_ARRAY(FpuOther-Intel, FPU_UNARY_R80_TEST_T, fcos_r80_intel ); 699 702 700 703 TSTIEM_DECLARE_TEST_ARRAY(FpuOther, FPU_UNARY_R80_TEST_T, ftst_r80 ); 701 704 TSTIEM_DECLARE_TEST_ARRAY(FpuOther, FPU_UNARY_R80_TEST_T, fxam_r80 ); 702 705 703 TSTIEM_DECLARE_TEST_ARRAY(FpuOther, FPU_UNARY_TWO_R80_TEST_T, fptan_r80_r80 ); 706 TSTIEM_DECLARE_TEST_ARRAY(FpuOther-Amd, FPU_UNARY_TWO_R80_TEST_T, fptan_r80_r80_amd ); 707 TSTIEM_DECLARE_TEST_ARRAY(FpuOther-Intel, FPU_UNARY_TWO_R80_TEST_T, fptan_r80_r80_intel ); 704 708 TSTIEM_DECLARE_TEST_ARRAY(FpuOther, FPU_UNARY_TWO_R80_TEST_T, fxtract_r80_r80 ); 705 TSTIEM_DECLARE_TEST_ARRAY(FpuOther, FPU_UNARY_TWO_R80_TEST_T, fsincos_r80_r80 ); 709 TSTIEM_DECLARE_TEST_ARRAY(FpuOther-Amd, FPU_UNARY_TWO_R80_TEST_T, fsincos_r80_r80_amd ); 710 TSTIEM_DECLARE_TEST_ARRAY(FpuOther-Intel, FPU_UNARY_TWO_R80_TEST_T, fsincos_r80_r80_intel ); 706 711 707 712 #endif /* !VMM_INCLUDED_SRC_testcase_tstIEMAImpl_h */
Note:
See TracChangeset
for help on using the changeset viewer.