lioncash
0f8fcfc43e
OpcodeDispatcher: Handle VPAND
2022-11-29 19:08:58 +00:00
lioncash
698b7fda06
OpcodeDispatcher: Handle VANDPD
2022-11-29 19:06:25 +00:00
lioncash
23caa6e20f
OpcodeDispatcher: Handle VANDPS
2022-11-29 19:04:29 +00:00
lioncash
16ed20cfae
OpcodeDispatcher: Handle VPOR
2022-11-29 18:43:38 +00:00
lioncash
ef368ceafa
OpcodeDispatcher: Handle VORPD
2022-11-29 18:40:04 +00:00
lioncash
45480ef32c
OpcodeDispatcher: Handle VORPS
2022-11-29 18:38:13 +00:00
lioncash
c065770f48
OpcodeDispatcher: Handle VPXOR
2022-11-29 18:12:04 +00:00
lioncash
27957ea051
OpcodeDispatcher: Handle VXORPD
2022-11-29 18:05:28 +00:00
lioncash
94e9d1ab3b
OpcodeDispatcher: Handle VXORPS
2022-11-29 18:04:29 +00:00
lioncash
3e80416eb6
OpcodeDispatcher: Handle VZEROUPPER/VZEROALL
2022-11-29 16:15:32 +00:00
lioncash
69d26cfee6
OpcodeDispatcher: Handle combined VMOVQ/VMOVD
2022-11-29 01:49:58 +00:00
lioncash
e3be1540f1
OpcodeDispatcher: Handle VMOVQ
...
Fairly trivial, we can reuse the existing implementation for MOVQ.
2022-11-29 01:49:15 +00:00
lioncash
45115384b5
OpcodeDispatcher: Handle VMOVNTPD
2022-11-28 16:58:37 +00:00
lioncash
dae2563850
OpcodeDispatcher: Handle VMOVNTPS
2022-11-28 16:56:00 +00:00
lioncash
fb4df5a0b7
OpcodeDispatcher: Handle VMOVNTDQA
2022-11-28 16:51:06 +00:00
lioncash
b2f0303d1e
OpcodeDispatcher: Handle VMOVNTDQ
2022-11-28 16:49:01 +00:00
Ryan Houdek
8b2cd87d9e
unittests: Disable SGDT tests on host
...
The Zen+ CI runner doesn't support the UMIP hardware feature, so it
doesn't hit the kernel emulated path.
Instead the instruction returns real data on this hardware. Still in
kernel space, so it is unmapped as expected.
2022-11-24 18:29:05 -08:00
Ryan Houdek
3e6d23ae7e
unittests: SGDT tests
2022-11-24 17:47:31 -08:00
Ryan Houdek
c9622f6fd4
unittests/IR: Update tests for new IR semantics
2022-11-22 23:06:18 -08:00
Ryan Houdek
df761a99ce
Merge pull request #2171 from lioncash/dqa
...
OpcodeDispatcher: Handle VMOVDQA/VMOVDQU
2022-11-21 23:29:21 -08:00
lioncash
e140c0d60c
OpcodeDispatcher: Handle VMOVDQU
2022-11-22 06:47:55 +00:00
lioncash
3a90aaf1e6
OpcodeDispatcher: Implement VMOVDQA
2022-11-22 06:40:07 +00:00
lioncash
3a5de8e10c
OpcodeDispatcher: Handle VMOVDDUP
2022-11-22 05:33:53 +00:00
lioncash
9d21e1efd5
OpcodeDispatcher: Handle VMOVSLDUP
2022-11-22 04:37:48 +00:00
lioncash
815cdc5b3c
OpcodeDispatcher: Handle VMOVSHDUP
2022-11-22 04:16:34 +00:00
lioncash
20e5f2bec6
OpcodeDispatcher: Handle VMOVHPD
2022-11-22 01:06:47 +00:00
lioncash
c3b6fa55b6
OpcodeDispatcher: Handle VMOVHPS
2022-11-22 01:01:28 +00:00
lioncash
7b2240c80b
OpcodeDispatcher: Handle VMOVLPD
2022-11-21 21:45:58 +00:00
lioncash
dcfbd90dd7
OpcodeDispatcher: Handle VMOVLPS
2022-11-21 21:45:36 +00:00
lioncash
0c40497a01
OpcodeDispatcher: Handle VMOVUPD
2022-11-21 17:14:25 +00:00
lioncash
45dff0f550
OpcodeDecoder: Handle VMOVUPS
2022-11-21 17:06:31 +00:00
lioncash
e9035ef6ee
OpcodeDecoder: Handle VMOVAPD
2022-11-21 17:06:27 +00:00
lioncash
ecf82c90ee
OpcodeDispatcher: Handle VMOVAPS
2022-11-15 19:57:05 +00:00
Ryan Houdek
0e1a418678
WIP: Segment register index optimization
...
Segment registers are indexed significantly more than they are changed.
Pay the cost of indexing during the set and store rather than the per
register index.
Should be a fairly significant performance improvement for 32-bit
applications. At least on hardware that doesn't have a data dependent
prefetcher.
Breaks Steam atm and isn't clean.
2022-10-31 19:42:30 -07:00
Ryan Houdek
0bf79dc5d6
unittests/gvisor: Adds a bunch of tests to flakes
...
These are getting annoying.
2022-10-31 12:53:04 -07:00
Ryan Houdek
2e93d10eba
OpcodeDispatcher: Fixes ROR imm OF calculation
...
Turns out this was calculating OF incorrectly, breaking Denuvo early in
its execution.
Changes the ROL imm OF calculation code as well to be more consistent
and not keep src1 alive longer than it needs to be.
Also adds two new unit tests to ensure this stays correct.
2022-10-31 10:28:47 -07:00
Ryan Houdek
76dd2369a7
unittests/asm: Adds more extensive FPREM/FPREM1 tests
...
unit tests that show the difference of output between FPREM and FPREM1.
Setup as known failures on everything except for host since we don't
implement fprem correctly.
An incorrect fix to FPREM is as follows:
```diff
--- a/External/FEXCore/Source/Common/SoftFloat.h
+++ b/External/FEXCore/Source/Common/SoftFloat.h
@@ -158,6 +158,10 @@ struct X80SoftFloat {
return Result;
#else
+ BIGFLOAT lhs_ = lhs;
+ BIGFLOAT rhs_ = rhs;
+ BIGFLOAT Result = fmodl(lhs_, rhs_);
+ return Result;
return extF80_rem(lhs, rhs);
#endif
}
```
But we shouldn't implement this fix. We should instead implement a new `extF80_mod`
function that handles the rounding differences between FPREM and FPREM1.
Fixes #2097 .
Doesn't attempt to resolve #1538
2022-10-22 20:47:24 -07:00
Ryan Houdek
78e0cd6e77
Scripts: Updates testharness_runner to support runner specific known failures
2022-10-22 20:29:51 -07:00
wannacu
73375a76ac
unittests: Adds DAA, DAS, AAA, AAS, AAM and AAD unit test
2022-10-19 13:56:21 +08:00
Ryan Houdek
fc6de5f3c0
Merge pull request #2087 from lioncash/vixl-narrow
...
External: Update vixl submodule
2022-10-18 16:08:31 -07:00
lioncash
f0db93773f
unittests: Re-enable narrowing and widening tests
...
Now that the bug in vixl's simulator is fixed, we can enable these tests
again.
2022-10-18 15:18:14 +00:00
Ryan Houdek
2a50416fc3
unittests: Ensures overloaded shifts don't result in JIT failure
2022-10-14 23:38:35 -07:00
Ryan Houdek
ce514d9f83
unittests: Adds ROL and ROR CF flag calculation tests
...
This would have failed prior to the last commit
2022-10-14 23:37:46 -07:00
lioncash
1278b23150
unittests: Amend mm register usage in H0F38/66_04.asm test
...
This should be using xmm2 rather than mm2.
2022-10-13 17:09:40 +00:00
Ryan Houdek
383e99e4ef
unittests: Extend VDSO test for gettime64
2022-09-26 14:35:38 -07:00
Ryan Houdek
212df9aa7b
FEXLinuxTests: Adds missing pthread_cancel flake status
...
Missed the 32-bit version of this test
2022-09-24 10:05:36 -07:00
Tony Wasserka
c41de81694
FEXLinuxTests: Drop support for now unused "args:" annotations
2022-09-22 10:03:38 +02:00
Tony Wasserka
41aaeb1ff0
FEXLinuxTests: Migrate signal tests to Catch2
2022-09-22 10:03:37 +02:00
Tony Wasserka
16be2792ab
FEXLinuxTests: Migrate FD test to Catch2
2022-09-22 10:03:36 +02:00
Tony Wasserka
6610bb355c
FEXLinuxTests: Migrate VDSO test to Catch2
2022-09-22 10:03:35 +02:00