Henrik Rydgård
1b2cffe632
Address feedback
2023-08-14 11:06:20 +02:00
Henrik Rydgård
ff6e118fff
Get rid of a lot of ifdefs around presentation mode. Instead, set things dynamically.
2023-08-14 11:02:29 +02:00
Unknown W. Brackets
159b41a0fa
irjit: Fuse unaligned svl.q/svr.q together.
...
They're almost never used outside paired, which we can do on most
platforms easily.
2023-08-13 18:10:40 -07:00
Unknown W. Brackets
5729de90d2
irjit: Use more partial Vec4s / Vec4Blend.
2023-08-13 18:10:40 -07:00
Unknown W. Brackets
2e6dbab5fa
irjit: Add flag to prefer Vec4, use for add/sub.
...
This will improve things when using SIMD.
2023-08-13 18:10:40 -07:00
Unknown W. Brackets
e0be6858b8
irjit: Implement vcrs.t.
...
As used in Jeanne d'Arc.
2023-08-13 18:10:12 -07:00
Unknown W. Brackets
217a1837ed
irjit: Allow typical prefixes in vdiv/vasin/etc.
...
Some of these behave strangely, but there are some common usages that work
fine.
2023-08-13 18:10:07 -07:00
Unknown W. Brackets
23c79f8e7f
irjit: Implement vsge/vslt.
...
These are not ideal especially for SIMD, but they do work.
Improves performance in Silent Hill on RISC-V by like 20%.
2023-08-13 10:40:47 -07:00
Unknown W. Brackets
5d20f2aabd
irjit: Simplify VecDo3.
2023-08-13 10:40:47 -07:00
Henrik Rydgård
2342c4522c
Merge pull request #17875 from unknownbrackets/riscv-jit
...
RISC-V: Implement a few more ops
2023-08-09 09:30:15 +02:00
Unknown W. Brackets
28c58c1d24
irjit: Allow more forms of vmidt.
...
Mildly worth it.
2023-08-08 23:17:32 -07:00
Unknown W. Brackets
e73c203984
irjit: Fix Vec4Shuffle overlap issue.
2023-08-08 23:00:39 -07:00
Henrik Rydgård
e9431d0d1e
Merge pull request #17859 from unknownbrackets/irjit-vec4
...
irjit: Use Vec4 a bit more
2023-08-06 23:05:33 +02:00
Unknown W. Brackets
3dc71cff75
irjit: Keep a couple more ops in Vec4.
2023-08-06 13:46:24 -07:00
Unknown W. Brackets
6a1dbd4cde
irjit: Allow Vec4 to be used with masks.
2023-08-06 13:46:24 -07:00
Unknown W. Brackets
2b964fd3b0
irjit: Handle more common Vec4 prefix cases.
2023-08-06 13:38:00 -07:00
Unknown W. Brackets
79ca880ac7
irjit: Implement vqmul, add Vec4Blend.
...
Should be useful more places.
2023-08-06 13:38:00 -07:00
Unknown W. Brackets
85ee7c85c1
irjit: Allow masked vneg.q.
2023-08-06 13:38:00 -07:00
Unknown W. Brackets
a29a35b91a
irjit: Fix mfvc eating prefixes.
...
It doesn't and shouldn't, which is why it's marked as not.
2023-08-06 08:28:25 -07:00
Unknown W. Brackets
5db6b11ef2
irjit: Cleanup self-fmovs.
...
These were sometimes getting emitted.
2023-07-30 14:16:17 -07:00
Unknown W. Brackets
e228748449
irjit: Add FCvtScaledSW to safely scale vi2f.
2023-07-29 18:30:15 -07:00
Unknown W. Brackets
a5a2671af3
irjit: Implement vf2ix.
...
Used in LittleBigPlanet when playing intro movies.
2023-07-29 18:01:08 -07:00
Unknown W. Brackets
d97790e28e
irjit: Fix vi2us/vi2s with non-consecutive.
...
Vec2ClampToZero and similar assume consecutive.
2023-03-15 21:30:35 -07:00
Unknown W. Brackets
9cfcbc46e6
Global: Cleanup initialization/pointer checks.
...
Cleaning up a lot of cases of uninitialized data, unchecked return values
for failures, and similar.
2022-12-10 21:13:36 -08:00
Unknown W. Brackets
a7b7bf7826
Global: Set many read-only params as const.
...
This makes what they do and which args to use clearer, if nothing else.
2022-12-10 21:13:36 -08:00
Unknown W. Brackets
c085413326
irjit: Consistently check vec4 safety.
...
Just to prevent confusion/surprises, this is clearer.
2022-11-18 19:06:50 -08:00
Unknown W. Brackets
ada0674415
irjit: Allow VV2Op SIMD with exact overlap.
...
None of these look at other lanes.
2022-11-18 17:54:58 -08:00
Unknown W. Brackets
2419e5680a
irjit: Correct VV2Op SIMD check.
...
It's unlikely, but possible, uninitialized data could cause
IsConsecutive4() to return true when n < 4.
2022-11-18 17:53:53 -08:00
Henrik Rydgård
e97d5498c6
Merge pull request #16306 from unknownbrackets/ir-prefixes
...
irjit: Correct prefix validation
2022-10-31 09:11:52 +01:00
Unknown W. Brackets
eef29d5e95
irjit: Correct prefix validation.
...
Some vcmps, etc. were perfectly valid but were forcing to interp.
This also catches more cases that should go to interp correctly.
2022-10-30 23:15:54 -07:00
Unknown W. Brackets
56ff555309
irjit: Fix unordered float compares.
2022-10-30 21:12:59 -07:00
Unknown W. Brackets
bbdc8a8f98
interp: Correct vscl/vmscl t prefix handling.
...
This makes more sense. Fixes Dissidia 012 issues.
2022-10-29 22:43:30 -07:00
Unknown W. Brackets
3f997518f3
irjit: Handle vrot overlap more correctly.
...
Sine ignores overlap, cosine does not.
2022-10-29 22:25:25 -07:00
Unknown W. Brackets
90517ace59
irjit: Validate alignment in slow memory mode.
2022-08-21 13:24:10 -07:00
Unknown W. Brackets
f32f89dd90
Global: Remove some unused variables.
2021-02-15 11:59:45 -08:00
Unknown W. Brackets
5d60fa0d0d
Common: Maintain C++11 support in sign extend.
2021-01-31 08:44:02 -08:00
Unknown W. Brackets
1b00da2f3a
Common: Sign extend w/func not chained casts.
...
Should be clearer to read and easier to get right.
2021-01-31 01:25:52 -08:00
Unknown W. Brackets
021f4adfad
irjit: Fix mtv for INF4.
2021-01-09 12:43:50 -08:00
Unknown W. Brackets
d3c06266c5
jit: Fix conditional disable flags.
2021-01-09 11:50:32 -08:00
Henrik Rydgård
9e41fafd0d
Move math and some file and data conversion files out from native to Common.
...
Buildfixing
Move some file util files
Buildfix
Move KeyMap.cpp/h to Core where they belong better.
libretro buildfix attempt
Move ini_file
More buildfixes
2020-10-04 09:12:46 +02:00
Henrik Rydgård
f65a71d6d8
Compat: Option to use accurate dotprod for VMMUL.
...
Eliminates Tekken 6 leg shaking.
2019-08-05 11:44:52 -07:00
Henrik Rydgård
7853c90abb
JIT: Split VFPU_MTX disable options. To help with #9843
2019-06-03 23:28:15 +02:00
Unknown W. Brackets
c773359095
arm64jit: Tweak matrix vfpu overlap detect, etc.
...
Tried making changes to them to guess at issues for #9843 , but didn't find
any. Still, I think these changes are worthwhile, if small.
2019-06-02 22:10:20 -07:00
Unknown W. Brackets
ec7cffa847
interp: Handle vtfm/vhtfm prefixes properly.
2019-04-02 18:46:39 -07:00
Unknown W. Brackets
5414c12a15
interp: Cleanup prefix/size in vcrsp/vqmul.
2019-04-02 07:12:34 -07:00
Henrik Rydgård
b346142df8
Merge pull request #11954 from unknownbrackets/vfpu-chunk5
...
Fix prefix and size handling for vsbx, vsocp, and integer conv ops
2019-04-01 17:12:03 +02:00
Unknown W. Brackets
b24f84d1a2
interp: Handle prefixes on matrix init ops.
2019-03-31 17:11:24 -07:00
Unknown W. Brackets
59905de719
interp: Correct vsgn out of swizzle bounds.
2019-03-31 17:10:51 -07:00
Unknown W. Brackets
b881a689c4
interp: Ignore high bit in vmfvc/vmtvc.
...
Both 0 and 128 read/write the S prefix, for example.
2019-03-31 17:09:55 -07:00
Unknown W. Brackets
175ceef583
interp: Cleanup vsocp size handling.
2019-03-31 13:52:07 -07:00