lioncash
ecba1b6838
IR: Handle 256-bit VBSL
...
Extends VBSL to handle 256-bit vectors.
2022-10-03 18:06:27 +00:00
Ryan Houdek
8d8b029285
Merge pull request #2044 from lioncash/vumax
...
IR: Handle 256-bit VSMax/VUMax
2022-09-29 13:52:40 -07:00
lioncash
bf6f855868
IR: Handle 256-bit VSMax
...
Extends VSMax to handle 256-bit vectors.
2022-09-29 20:31:19 +00:00
Ryan Houdek
aa6a499329
Merge pull request #2043 from lioncash/vumin
...
IR: Handle 256-bit VSMin/VUMin
2022-09-29 13:19:07 -07:00
lioncash
0971650ef9
IR: Handle 256-bit VUMax
...
Extends VUMax to handle 256-bit vectors.
2022-09-29 20:18:42 +00:00
Ryan Houdek
64c4fdccf7
Merge pull request #2042 from lioncash/vnot
...
IR: Handle 256-bit VNot
2022-09-29 13:13:23 -07:00
Ryan Houdek
d715ffbc8e
Merge pull request #2041 from lioncash/vfneg
...
IR: Handle 256-bit VFNeg
2022-09-29 13:12:21 -07:00
lioncash
aef801b5b5
IR: Handle 256-bit VSMin
...
Extends VSMin to handle 256-bit vectors.
2022-09-29 20:01:04 +00:00
lioncash
6c9e29796b
IR: Handle 256-bit VUMin
...
Extends VUMin to handle 256-bit vectors.
2022-09-29 19:47:47 +00:00
lioncash
364bb3ac1e
IR: Handle 256-bit VNot
...
Extends VNot to handle 256-bit vectors.
2022-09-29 14:40:46 +00:00
lioncash
428ea68507
IR: Handle 256-bit VFNeg
...
Extends VFNeg to handle 256-bit vectors.
2022-09-29 14:00:52 +00:00
Ryan Houdek
5cf59408a7
Merge pull request #2040 from Sonicadvance1/fix_vsyscall
...
VDSO: Fix vsyscall
2022-09-29 01:47:53 -07:00
Ryan Houdek
1596843015
VDSO: Fix vsyscall
...
The `mov ebp, ecx` was breaking vsyscall and was expected to be used
with the `syscall` instruction rather than `int 0x80`.
Remove that to fix it.
Also remove the pushes and pops around the syscall instruction, these
are unnecessary in an emulated environment, we won't clobber the
registers.
Fixes Steam execution with VDSO.
2022-09-28 17:34:24 -07:00
Ryan Houdek
1799d4c675
Merge pull request #2038 from lioncash/vneg
...
IR: Handle 256-bit VNeg
2022-09-28 13:16:55 -07:00
Ryan Houdek
808e1c0330
Merge pull request #2029 from lioncash/interp
...
Interpreter: Use constant for AVX register size where applicable
2022-09-28 13:16:14 -07:00
Ryan Houdek
dacd96cab5
Merge pull request #2037 from lioncash/vfrsqrt
...
IR: Handle 256-bit VFRSqrt
2022-09-28 13:15:50 -07:00
Ryan Houdek
ca4d3bf64d
Merge pull request #2036 from lioncash/vfsqrt
...
IR: Handle 256-bit VFSqrt
2022-09-28 13:14:25 -07:00
Ryan Houdek
ea38b043c1
Merge pull request #2035 from lioncash/vfrecp
...
IR: Handle 256-bit VFRecp
2022-09-28 13:12:57 -07:00
Ryan Houdek
a39746df2e
Merge pull request #2034 from lioncash/vfmax
...
IR: Handle 256-bit VFMax
2022-09-28 13:11:04 -07:00
Ryan Houdek
2367a8e50b
Merge pull request #2033 from lioncash/vfmin
...
IR: Handle 256-bit VFMin
2022-09-28 13:10:17 -07:00
Ryan Houdek
cb121d7f17
Merge pull request #2032 from lioncash/vaddp
...
IR: Handle 256-bit VAddP
2022-09-28 13:08:40 -07:00
Ryan Houdek
412793c21d
Merge pull request #2030 from lioncash/interp-mov
...
Interpreter: Handle 256-bit VMov
2022-09-28 13:05:16 -07:00
lioncash
ce2286c48b
IR: Handle 256-bit VNeg
...
Extends VNeg to handle 256-bit vectors.
2022-09-28 19:25:33 +00:00
lioncash
d5694d6de0
IR: Handle 256-bit VFRSqrt
...
Extends VFRSqrt to handle 256-bit vectors.
2022-09-28 19:11:01 +00:00
lioncash
121218aa8a
IR: Handle 256-bit VFSqrt
...
Extends VFSqrt to handle 256-bit vectors.
2022-09-28 18:46:43 +00:00
lioncash
6bb53fa758
IR: Handle 256-bit VFRecp
...
Extends VFRecp to handle 256-bit vectors.
2022-09-28 18:27:34 +00:00
lioncash
89aa0c5471
IR: Handle 256-bit VFMax
...
Extends VFMax to handle 256-bit vectors.
2022-09-28 17:40:16 +00:00
lioncash
53fcbf6afa
IR: Handle 256-bit VFMin
...
Extends VFMin to handle 256-bit vectors.
2022-09-28 16:56:22 +00:00
lioncash
2f5643ae6b
Arm64/VectorOps: Amend half-precision case in VFAddP
...
Noticed that I forgot to change the Zn register over to VTMP1.
This would have been caught by a vixl internal assert anyway.
Also make the behavior equal with VAddP, where we clear and only copy
over the exact amount of bytes instead of the whole register.
2022-09-28 15:10:49 +00:00
lioncash
d162ac8b3d
IR: Handle 256-bit VAddP
...
Extends VAddP to handle 256-bit vectors.
2022-09-28 15:01:31 +00:00
lioncash
c9a704fbde
Interpreter: Handle 256-bit VMov
...
Now we'll properly handle the move.
Also put an assert in place to catch any over-sized values.
2022-09-28 13:47:23 +00:00
lioncash
9d5a822a3a
Interpreter: Use constant for AVX register size where applicable
...
Makes the previously implemented ops a little more self-documenting,
and, if we ever actually need to change this, there's a nice constant
that can be looked up instead of magic 32 values.
2022-09-28 13:38:03 +00:00
Ryan Houdek
50eba4066a
Merge pull request #2028 from lioncash/vfdiv
...
IR: Handle 256-bit VFDiv
2022-09-27 13:39:02 -07:00
lioncash
6116ae5330
IR: Handle 256-bit VFDiv
...
Extends VFDiv to handle 256-bit vectors.
2022-09-27 20:20:31 +00:00
Ryan Houdek
447226576f
Merge pull request #2027 from lioncash/vfmul
...
IR: Handle 256-bit VFMul
2022-09-27 13:18:38 -07:00
Ryan Houdek
3f8b872f17
Merge pull request #2026 from lioncash/vfsub
...
IR: Handle 256-bit VFSub
2022-09-27 13:17:00 -07:00
Ryan Houdek
e573ddc2db
Merge pull request #2025 from lioncash/vfaddp
...
IR: Handle 256-bit VFAddP
2022-09-27 12:56:58 -07:00
lioncash
fe9aa681f0
IR: Handle 256-bit VFMul
...
Extends VFMul to handle 256-bit vectors.
2022-09-27 19:54:57 +00:00
lioncash
1b2f2c1559
IR: Handle 256-bit VFSub
...
Extends VFSub to be able to handle 256-bit vectors.
2022-09-27 19:33:46 +00:00
lioncash
84c75a86c3
IR: Handle 256-bit VFAddP
...
Extends VFAddP to be able to handle 256-bit vectors.
2022-09-27 19:03:44 +00:00
Ryan Houdek
eedbde6f15
Merge pull request #2024 from lioncash/vfadd
...
IR: Handle 256-bit VFAdd
2022-09-27 09:53:25 -07:00
Ryan Houdek
4e441e5a08
Merge pull request #2023 from lioncash/vpopcnt
...
IR: Handle 256-bit VPopcount
2022-09-27 09:51:27 -07:00
Ryan Houdek
3e287a36c2
Merge pull request #2022 from lioncash/vabs
...
IR: Handle 256-bit VAbs
2022-09-27 09:48:26 -07:00
lioncash
eadc477695
IR: Handle 256-bit VFAdd
2022-09-27 16:07:42 +00:00
lioncash
59aa324678
IR: Handle 256-bit VPopcount
...
Extends VPopcount to be able to handle 256-bit width vectors
2022-09-27 15:19:24 +00:00
lioncash
219bce1467
IR: Handle 256-bit VAbs
...
Extends VAbs to be able to handle 256-bit width vectors.
2022-09-27 13:56:38 +00:00
Ryan Houdek
46bde401bd
Merge pull request #2019 from Sonicadvance1/remove_mov
...
IR: Removes Mov IR op
2022-09-26 19:49:52 -07:00
Ryan Houdek
01beac4956
Merge pull request #2018 from Sonicadvance1/remove_vextractelement
...
IR: Removes VExtractElement
2022-09-26 19:49:46 -07:00
Ryan Houdek
fcd981e6b7
Merge pull request #2017 from Sonicadvance1/remove_vbitcast
...
IR: Removes unnecessary VBitcast IR op
2022-09-26 19:44:12 -07:00
Ryan Houdek
825833cfcc
IR: Removes Mov IR op
...
This is unused and shouldn't ever be used.
2022-09-26 16:04:27 -07:00