Commit graph

2798 commits

Author SHA1 Message Date
Unknown W. Brackets
1d152a1486 x86jit: Bake emuhack mask into jitbase. 2023-09-03 12:49:36 -07:00
Henrik Rydgård
4694a11b9f
Merge pull request #18053 from unknownbrackets/x86-jit-debug
x86jit: Handle breakpoints
2023-09-03 21:45:48 +02:00
Unknown W. Brackets
60bcc5b083 x86jit: Handle breakpoints.
Otherwise, we don't actually break until later, which isn't great.
Could be more optimal, "rewinding" regcache state.
2023-09-03 12:28:11 -07:00
Unknown W. Brackets
259734bd47 irjit: Fix likely delay slot breakpoints. 2023-09-03 12:27:10 -07:00
Unknown W. Brackets
e1a1f56f4c irjit: Cleanup breakpoint ops. 2023-09-03 12:27:10 -07:00
Unknown W. Brackets
7607280837 arm64jit: Implement just the most basic ops.
This improves the slowness a good bit.
2023-09-03 12:20:16 -07:00
Unknown W. Brackets
1b756ff8c1 arm64jit: Add initial base for IR jit.
This works, but very slowly at this point.
2023-09-03 12:14:28 -07:00
Unknown W. Brackets
c7304eccdb x86jit: Avoid R15 for jitbase if near ctxreg. 2023-09-02 23:05:56 -07:00
Henrik Rydgård
f6c1493373
Merge pull request #18048 from unknownbrackets/irjit-vec4
IR: Add a pass to keep things in vec4 more
2023-09-02 15:11:06 +02:00
Henrik Rydgård
20dedec07e
Merge pull request #18046 from unknownbrackets/x86-jit-reduce
x86jit: Reduce bloat further
2023-09-02 13:37:20 +02:00
Unknown W. Brackets
739e474957 irjit: Improve dot and store vec4 interaction. 2023-09-01 22:35:59 -07:00
Unknown W. Brackets
becad54923 x86jit: Maintain Vec4 on FMov extract. 2023-09-01 22:35:59 -07:00
Unknown W. Brackets
2ca638868c irjit: Remove Vec4Scale/Vec4Dot aliasing in pass. 2023-09-01 22:35:59 -07:00
Unknown W. Brackets
96c90c19c6 irjit: Reduce unnecessary shuffles.
If it's never used as a Vec4 again, it's often not worth it.
2023-09-01 22:35:59 -07:00
Unknown W. Brackets
5f84887dea irjit: Add a pass to keep Vec4s in Vec4s. 2023-09-01 22:35:59 -07:00
Unknown W. Brackets
9bac755491 x86jit: Avoid pointerify if clobbered.
For x86, it's not worth it for one.
2023-09-01 22:34:22 -07:00
Unknown W. Brackets
b370a89ef2 x86jit: Reduce block link padding.
Reduces bloat a good bit.
2023-09-01 22:33:02 -07:00
Unknown W. Brackets
c5d0e1d0cc x86jit: Implement float to integer. 2023-09-01 22:31:25 -07:00
Unknown W. Brackets
c85886c11e irjit: Use enum for rounding modes. 2023-09-01 22:29:24 -07:00
Henrik Rydgård
351de6eb25
Merge pull request #18026 from unknownbrackets/x86-jit-float
x86jit: Fix vsat0 saturate
2023-08-31 08:28:50 +02:00
Unknown W. Brackets
bcac804cc5 x86jit: Fix vsat0 saturate. 2023-08-30 23:07:57 -07:00
Unknown W. Brackets
d5a51da95e x86jit: Fix pointer modify when masked. 2023-08-30 22:04:26 -07:00
Unknown W. Brackets
742dc0a0c7 x86jit: Fix vec4 clobber issue. 2023-08-30 22:04:25 -07:00
Henrik Rydgård
5321cb97fd
Merge pull request #18007 from unknownbrackets/x86-jit-lsu
x86jit: Implement CondStore
2023-08-29 09:06:43 +02:00
Unknown W. Brackets
8233fdfd91 x86jit: Implement CondStore. 2023-08-28 23:32:49 -07:00
Unknown W. Brackets
181adde6f1 x86jit: Implement float saturates. 2023-08-28 23:11:46 -07:00
Unknown W. Brackets
c4d13e522b x86jit: Use a literal pool to avoid rip checks. 2023-08-28 23:11:46 -07:00
Unknown W. Brackets
eab05e32a7 x86jit: Implement FCvtScaledSW. 2023-08-28 23:11:46 -07:00
Unknown W. Brackets
2b6bd01417 x86jit: Optimize FMul. 2023-08-28 23:11:46 -07:00
Henrik Rydgård
ae0af175de
Merge pull request #18004 from unknownbrackets/x86-jit-minor
x86jit: Small cleanup and tweaks, downcountInRegster, GetFPRLaneCount bugfix
2023-08-29 08:01:47 +02:00
Unknown W. Brackets
0cb6a17ea3 x86jit: Small Clz codesize optimization. 2023-08-28 21:17:06 -07:00
Unknown W. Brackets
14d871730f x86jit: Optimize slow memory. 2023-08-28 21:16:38 -07:00
Unknown W. Brackets
1bfa054a41 irjit: Correct GetFPRLaneCount().
Oops, this was just wrong...
2023-08-28 21:09:56 -07:00
Unknown W. Brackets
75e20af886 x86jit: Fix default prefix on core switch. 2023-08-28 21:09:56 -07:00
Unknown W. Brackets
8e8605935e irjit: Detect subtract-to-zero as constant. 2023-08-28 21:09:56 -07:00
Unknown W. Brackets
0a5eafa3de x86jit: Another small LEA optimization. 2023-08-28 21:09:56 -07:00
Unknown W. Brackets
289cb71790 x86jit: Small tweaks to fixed code. 2023-08-28 21:09:56 -07:00
Unknown W. Brackets
ee5381917a x86jit: Implement downcount in register. 2023-08-28 21:09:56 -07:00
Unknown W. Brackets
7f3e2e55b5 x86jit: Small opt for Sltu. 2023-08-28 21:09:56 -07:00
Unknown W. Brackets
4e90bd5070 x86jit: Use NEG more automatically for Sub x,0,y. 2023-08-28 21:09:56 -07:00
Henrik Rydgård
dddf63d057
Merge pull request #17993 from unknownbrackets/x86-jit-minor
x86jit: Replacements, expose for profiling better
2023-08-28 10:23:00 +02:00
Henrik Rydgård
0ecfb6b112
Merge pull request #17992 from unknownbrackets/x86-jit-float
x86jit: Implement trig instructions, couple other FPU
2023-08-28 10:20:38 +02:00
Henrik Rydgård
54ebe461fc
Merge pull request #17994 from unknownbrackets/x86-jit-lea
x86: Use LEA in a few sensible places
2023-08-28 10:17:13 +02:00
Henrik Rydgård
24e0cb013b
Merge pull request #17991 from unknownbrackets/x86-jit-dot
x86jit: Improve vdot performance
2023-08-28 10:15:03 +02:00
Henrik Rydgård
3489ff5143
Merge pull request #17990 from unknownbrackets/x86-jit-alu
x86jit: Implement divides and a couple more ALUs
2023-08-28 10:12:31 +02:00
Unknown W. Brackets
f10444eb42 x86jit: Special case broadcast shuffles. 2023-08-27 23:24:30 -07:00
Unknown W. Brackets
61a99b4bac x86jit: Implement trig/reciprocals. 2023-08-27 23:24:30 -07:00
Unknown W. Brackets
4b1c809886 x86jit: Implement a few more float ops, shuffle. 2023-08-27 23:24:30 -07:00
Unknown W. Brackets
479ebaea11 x86: Use LEA in a few sensible places. 2023-08-27 13:59:19 -07:00
Unknown W. Brackets
8b77114da6 x86jit: Remove outdated file. 2023-08-27 13:01:22 -07:00