Commit Graph
8070 Commits
Author SHA1 Message Date
Unknown W. Brackets e960158490 jit-ir: Add notes and report about vrot prefixes. 2016-05-15 14:08:59 -07:00
Unknown W. Brackets ab1461faca Add prefix handling to vfpu color conv per tests. 2016-05-15 13:16:03 -07:00
Unknown W. Brackets 3f0fc2d851 jit-ir: Fix FSat0_1 behavior on -0.0f. 2016-05-15 13:10:49 -07:00
Unknown W. Brackets fa61deae3d Remove unused value. 2016-05-15 12:43:35 -07:00
Unknown W. Brackets 6bf1390603 Fix timing drift on CoreTiming::ForceCheck().
Since -1 -(-1) = 0, we'll never think we moved forward this way.
2016-05-15 12:43:34 -07:00
Henrik Rydgard d6c2b6e9ae Most of vi2x 2016-05-15 11:46:01 +02:00
Henrik Rydgard 905af75925 vx2i, vbfy, vsgn 2016-05-15 10:57:43 +02:00
Henrik Rydgard 7046f960e5 IR: Add vrot 2016-05-15 10:36:18 +02:00
Henrik Rydgård 168573e711 Merge pull request #8740 from unknownbrackets/ir-vfpu
More VFPU comments, implement vmscl
2016-05-15 10:08:22 +02:00
Unknown W. Brackets e140d36818 ir-jit: Oops, fix matrix scale + tranpose. 2016-05-15 00:59:17 -07:00
Henrik Rydgård 205419a72e Merge pull request #8741 from unknownbrackets/ir-alu
IR the remaining ALU ops, correct div by zero
2016-05-15 09:43:41 +02:00
Unknown W. Brackets c606f64f71 jit-ir: Add div/divu instructions. 2016-05-14 19:23:52 -07:00
Unknown W. Brackets 6413b44434 jit-ir: Enable IR for madd(u)/msub(u). 2016-05-14 19:23:51 -07:00
Unknown W. Brackets a05ae2a0a6 Correct divide by zero HI/LO values a bit.
Interpreter is now correct, but it's probably not all that important to
get right in jit.
2016-05-14 19:23:50 -07:00
Unknown W. Brackets 4ac773e8b4 jit-ir: Implement bit reverse instruction. 2016-05-14 18:21:42 -07:00
Unknown W. Brackets 8a3dce3b8b jit-ir: Comment most of the vfpu ops. 2016-05-14 17:35:04 -07:00
Unknown W. Brackets e1dbcd724e jit-ir: Oops, correct vtfm for transposed case.
The ones that are aligned are here in this case.  Fixes crash in Crisis
Core.
2016-05-14 16:20:39 -07:00
Unknown W. Brackets 01d63a1a9d jit-ir: Implement vmscl. 2016-05-14 16:20:21 -07:00
Unknown W. Brackets 2e097b8996 Oops, typos. 2016-05-14 14:28:05 -07:00
Unknown W. Brackets d5d77b41f9 jit-ir: Properly flip vtfm simd cases.
Disable the broken one and add clearer comments.
2016-05-14 14:23:18 -07:00
Unknown W. Brackets 7c9f368d63 jit-ir: Add some descriptions of mnemonics.
Sometimes I forget what vhdp etc. meant, let's make the VFPU code a bit
more accessible.
2016-05-14 14:21:53 -07:00
Henrik Rydgård 8f430e9631 Merge pull request #8736 from unknownbrackets/ir-clear
Clear emuhacks on IR block destroy and save state
2016-05-14 18:51:39 +02:00
Unknown W. Brackets 1f28d802a3 FreeBSD buildfix.
We need Common to have the right _M_SSE define.  Also, let's not define
SSE4 until we need it, since we might need ifs.
2016-05-14 09:06:56 -07:00
Unknown W. Brackets e37777648e jit-ir: Restore emuhacks before saving state.
Let's just ask jit to do this, not its block cache directly.
2016-05-14 08:59:44 -07:00
Unknown W. Brackets b74df87db0 jit-ir: Clear emuhacks on block destroy. 2016-05-14 08:40:53 -07:00
Henrik Rydgard 0541fe36df Symbian buildfix, fix for fpu test 2016-05-14 15:26:43 +02:00
Henrik Rydgard b612806ee4 Remove accidentally added file 2016-05-14 14:32:43 +02:00
Henrik Rydgard 64eda6a4ec IR: Split Syscall into Syscall and ExitToPC, so we can put ApplyRoundingMode in between. 2016-05-14 14:32:22 +02:00
Henrik Rydgard 91bc3c31a5 Warning fixes 2016-05-14 14:01:27 +02:00
Henrik Rydgard 7a7c3b9b9f More VFPU, vmmul thoughts 2016-05-14 14:00:01 +02:00
Unknown W. Brackets efc8a8e353 Hack to make Symbian build. 2016-05-13 23:56:17 -07:00
Henrik Rydgard b7091a8f5d Simplifications and fixes 2016-05-13 21:02:23 +02:00
Henrik Rydgard 5923013d65 Simple workaround for timing issue with coreState after syscall.
Also fixes off by one in ForceCheck.
2016-05-13 20:21:19 +02:00
Henrik Rydgard 5b2504120d Optimize some common prefixes 2016-05-13 20:15:20 +02:00
Henrik Rydgard 91a6cf5e44 Add a couple more passes (2-op, optimize f<->v fp moves) 2016-05-13 20:14:03 +02:00
Henrik Rydgard f636b2a315 Minor build and other fixes 2016-05-13 19:31:27 +02:00
Unknown W. Brackets 066b0b7fdf jit-ir: Optimize out beql; break; sequences.
These are often used following divs, and are harmless.  Things get a bit
easier if we just never compile them.
2016-05-13 07:59:39 -07:00
Unknown W. Brackets 7b43e0e59d jit-ir: Add nan/inf compares.
Without this, Gods Eater Burst crashes before going in game.
2016-05-12 22:53:21 -07:00
Unknown W. Brackets 9e3572dc63 jit-ir: Improve vidt to handle more cases. 2016-05-12 22:40:26 -07:00
Unknown W. Brackets f52120353b jit-ir: Apply prefixes for vector init ops.
Without this, Gods Eater Burst is horribly broken.
2016-05-12 22:29:31 -07:00
Unknown W. Brackets c11c0465de jir-ir: Correct vftm SIMD regs. 2016-05-12 21:29:58 -07:00
Unknown W. Brackets 1ddb2fbfb9 jit-ir: Fix non-SSE Vec4Scale. 2016-05-12 21:02:56 -07:00
Unknown W. Brackets 57b3dbff7e jit-ir: Avoid flushing on a few Vec4 ops. 2016-05-12 21:01:46 -07:00
Unknown W. Brackets a8126ca132 jit-ir: Add some missing CONDITIONAL_DISABLEs. 2016-05-12 20:56:47 -07:00
Unknown W. Brackets 29ed8d2201 jit-ir: ExitToReg doesn't write to registers. 2016-05-12 18:34:27 -07:00
Unknown W. Brackets 9f183c97ba jit-ir: Prevent reading ahead for each reg write. 2016-05-12 18:30:55 -07:00
Unknown W. Brackets d06c6c080c jit-ir: Expand unused regs to regular GPRs. 2016-05-12 18:30:55 -07:00
Unknown W. Brackets 99468c6fc1 jit-ir: Optimize out unused temp regs.
This way, if constants have made the temp obsolete (common with ins, for
example), it won't even get set anymore.
2016-05-12 18:30:53 -07:00
Henrik Rydgard 7268abec61 IR: vcmp, vcmov, vhdp 2016-05-12 22:35:31 +02:00
Henrik Rydgard 1851458628 Bugfixes 2016-05-12 20:28:59 +02:00