lioncash
2d9cb65d5c
OpcodeDispatcher: Handle VCMPSD
2022-12-21 20:46:07 +00:00
lioncash
e21002e0d7
OpcodeDispatcher: Handle VCMPSS
2022-12-21 20:39:13 +00:00
Ryan Houdek
ce351282f2
Merge pull request #2282 from lioncash/debug
...
OpcodeDispatcher: Remove lingering debug log from VPFCMPOp
2022-12-21 00:53:13 -08:00
lioncash
ab41856328
OpcodeDispatcher: Remove lingering debug log from VPFCMPOp
2022-12-21 08:40:27 +00:00
Ryan Houdek
345e9b97bf
Merge pull request #2281 from lioncash/assert
...
OpcodeDispatcher: Convert runtime assert to static_assert in SHUFOps
2022-12-21 00:23:24 -08:00
lioncash
f850a02d3f
OpcodeDispatcher: Convert runtime assert to static_assert in SHUFOps
2022-12-21 08:05:32 +00:00
lioncash
983b53a0c2
OpcodeDispatcher: Handle VCMPPD
2022-12-21 06:12:14 +00:00
lioncash
10a6b5794b
OpcodeDispatcher: Handle VCMPPS
2022-12-21 05:57:24 +00:00
lioncash
2c5aceb9b6
OpcodeDispatcher: Factor out VFCMPOp impl into a regular function
...
This can be used with AVX implementations.
2022-12-21 05:27:10 +00:00
Ryan Houdek
1668db046d
Merge pull request #2279 from lioncash/psrldq
...
OpcodeDispatcher: Handle VPSRLDQ
2022-12-20 21:06:57 -08:00
lioncash
825e921940
OpcodeDispatcher: Handle VPSRLDQ
2022-12-21 04:51:49 +00:00
lioncash
c06f0b7cb3
OpcodeDispatcher: Remove usage of VMov in VPSLLDQOp
...
The extract operation essentially does this for us.
2022-12-21 04:13:26 +00:00
Ryan Houdek
4aed60ee3d
Merge pull request #2277 from lioncash/cvt
...
OpcodeDispatcher: Handle VCVTDQ2PD/VCVTDQ2PS
2022-12-20 20:02:12 -08:00
lioncash
da9f7ec31f
OpcodeDispatcher: Handle VCVTDQ2PD
2022-12-21 03:45:00 +00:00
lioncash
8ec932fc4c
OpcodeDispatcher: Handle VCVTDQ2PS
2022-12-21 03:44:56 +00:00
lioncash
6f35a23161
x86_64/ConversionOps: Don't clear upper lane in Vector_SToF
...
If Dst and Vector are the same, this will obliterate the top lane data
that needs to be operated on in the 128-bit case.
2022-12-21 03:40:38 +00:00
lioncash
bd70af9724
OpcodeDispatcher: Move Vector_CVT_Int_To_Float impl to regular function
...
This can be used with the AVX implementation as well.
2022-12-21 02:23:04 +00:00
lioncash
bdba062f72
VEXTables: Amend VCVTTPS2DQ name
2022-12-21 02:17:31 +00:00
lioncash
d591b1ed8c
Interpreter: Prevent overrun with 256-bit VExtr
2022-12-21 01:51:25 +00:00
lioncash
3bae4a225c
OpcodeDispatcher: Handle VPSLLDQ
2022-12-21 01:46:17 +00:00
Ryan Houdek
d0cb329608
Merge pull request #2275 from lioncash/sha1
...
OpcodeDispatcher: Simplify SHA1MSG1 implementation
2022-12-20 12:49:41 -08:00
lioncash
bb80e7d45c
OpcodeDispatcher: Simplify SHA1MSG1 implementation
...
We can just arrange the elements into a vector and XOR them all at once
2022-12-20 19:49:08 +00:00
lioncash
109ed7d112
OpcodeDispatcher: Handle VPSRLQ (immediate)
2022-12-20 19:24:58 +00:00
lioncash
133a644231
OpcodeDispatcher: Handle VPSRLD (immediate)
2022-12-20 19:12:16 +00:00
lioncash
666f8bfbd9
OpcodeDispatcher: Handle VPSRLW (immediate)
2022-12-20 19:07:47 +00:00
Ryan Houdek
1800451251
Merge pull request #2273 from lioncash/keygen
...
OpcodeDispatcher: Handle 128-bit AVX AES instructions
2022-12-20 10:52:53 -08:00
lioncash
7931bd1004
OpcodeDispatcher: Handle VAESDECLAST (128-bit)
2022-12-20 17:34:17 +00:00
lioncash
58978dd047
OpcodeDispatcher: Handle VAESDEC (128-bit)
2022-12-20 17:26:19 +00:00
lioncash
25fb243ac7
OpcodeDispatcher: Handle VAESENCLAST (128-bit)
2022-12-20 17:11:47 +00:00
lioncash
84f1e7ad4c
OpcodeDispatcher: Handle VAESENC (128-bit)
...
Only 128-bit is required to be handled by base-level AVX.
The VAES feature flag indicates support for 256-bit VAESENC
2022-12-20 16:58:01 +00:00
lioncash
3fb5835453
OpcodeDispatcher: Handle VAESIMC
...
VAESIMC behaves exactly like AESIMC, except the upper lane of the vector
is always cleared.
2022-12-20 16:49:03 +00:00
lioncash
bcb6726b22
OpcodeDispatcher: Handle VAESKEYGENASSIST
...
This does the exact same thing as AESKEYGENASSIST, except that the upper
lane gets cleared.
2022-12-20 16:15:42 +00:00
lioncash
2bed562eb6
OpcodeDispatcher: Extract AESKeyGenAssist impl to helper function
...
This can be reused for the AVX variant.
2022-12-20 16:01:25 +00:00
lioncash
bae7209224
OpcodeDispatcher: Handle VPSRAD (immediate)
2022-12-20 15:49:38 +00:00
lioncash
b53f8944ac
OpcodeDispatcher: Handle VPSRAW (immediate)
2022-12-20 15:40:49 +00:00
Ryan Houdek
0d7c086b69
Arm64: Enables debug option for disassembling the JIT code
...
This is useful as a debug option and will be useful to have in upstream
while comparing output between current vixl emitter and the new emitter.
With this in place I can easily do binary comparisons to see where I
have mistakes in the new emitter.
We don't want this enabled in release builds as it is a debug feature.
This has already caught a bunch of mistakes, so make it easier by
upstreaming.
It'll likely be useful in the future as well when we are inspecting code
running in the vixl simulator.
2022-12-18 14:56:40 -08:00
Mai
2b6a020c4c
Merge pull request #2260 from Sonicadvance1/optimize_lookup_map
...
LookupCache: Optimize cache clearing and allocation
2022-12-17 22:43:22 +00:00
lioncash
873d63002a
OpcodeDispatcher: Handle VPACKUSDW
2022-12-17 03:43:06 +00:00
lioncash
bb6a0f39f5
OpcodeDispatcher: Handle VPACKUSWB
2022-12-17 03:31:40 +00:00
lioncash
392e6ae424
OpcodeDispatcher: Factor out PACKUSOp impl into a regular function
...
We can use this for the AVX instructions too.
2022-12-17 03:19:28 +00:00
lioncash
0537f2d014
OpcodeDispatcher: Handle VPACKSSDW
2022-12-17 03:01:33 +00:00
lioncash
f57debeb29
OpcodeDispatcher: Handle VPACKSSWB
2022-12-17 02:42:09 +00:00
lioncash
4ac031df59
OpcodeDispatcher: Move PACKSSOp impl to a regular function
...
We can reuse it with AVX versions.
2022-12-17 02:13:26 +00:00
Ryan Houdek
78b53bfa49
Merge pull request #2266 from lioncash/arith
...
OpcodeDispatcher: Handle vector versions of VPSRA{D, W}
2022-12-16 18:05:05 -08:00
lioncash
c53fb7d697
OpcodeDispatcher: Handle VPSRAD (vector)
2022-12-17 01:51:42 +00:00
lioncash
a1a52450cb
OpcodeDispatcher: Handle VPSRAW (vector)
2022-12-17 01:40:25 +00:00
lioncash
68916ae2d9
OpcodeDispatcher: Move PSRAOp implementation to regular function
...
We can reuse this with the AVX variant.
2022-12-17 01:23:02 +00:00
lioncash
bf56b7b2da
OpcodeDispatcher: Handle remaining PEXTRW opcode
2022-12-17 01:14:22 +00:00
lioncash
858f13e76a
OpcodeDispatcher: Handle VADDSUBPD
2022-12-17 00:41:25 +00:00
lioncash
169d7bbf50
OpcodeDispatcher: Handle VADDSUBPS
2022-12-17 00:29:29 +00:00