Commit graph

73 commits

Author SHA1 Message Date
Henrik Rydgard
6e7e62f3d5 Fix compiler check in Arm64Emitter.cpp. Should help #9104 2016-10-31 22:34:15 +01:00
Florent Castelli
83aaf30207 cmake: Use preprocessor for conditional compilation in Common
CommonExtra is gone!
Still need to fix CommonFake later though.
2016-10-11 16:55:29 +02:00
Henrik Rydgard
2adec71f87 Be completely safe on Exynos even if future OS:es start running the big and LITTLE cores simultaneously (don't know if they already do) 2016-09-12 22:19:52 +02:00
Henrik Rydgard
edae55d827 Revert "ARM64 icache flush: Don't bother with the minimum cache line size, just use the current."
(In case big and LITTLE cores are used at the same time on some chips,
this might still help, at least in theory)

This reverts commit 0b8a3e8c26.
2016-09-12 22:09:05 +02:00
Henrik Rydgard
0b8a3e8c26 ARM64 icache flush: Don't bother with the minimum cache line size, just use the current. 2016-09-10 17:21:11 +02:00
Henrik Rydgard
03279e1212 Port over the Exynos cacheline size fix from Dolphin. Thanks to lewurm of the mono project for the discovery and original fix.
See https://github.com/dolphin-emu/dolphin/pull/4204 and https://github.com/mono/mono/pull/3549
2016-09-10 09:25:06 +02:00
Unknown W. Brackets
4113fd940c Add ugly invalidation workaround for SGS7s.
Otherwise they just crash, and crash often.  Special thanks to Jaaan for
numerous trials to try to find the best way to solve the crashes.
2016-05-23 21:35:28 -07:00
Henrik Rydgard
ffe4c266ef Add CodeBlockCommon base class to remove further arch-specificity in JitBlockCache
Remove unused ArmThunk.
2016-05-01 11:40:00 +02:00
Henrik Rydgård
0c1e7dcc18 Use the OS to clear the CPU cache instead of the gcc builtin. Experiment for the S7 issues. 2016-04-09 16:16:45 +02:00
latot
afeb012d04 Add missing include files to unittest 2015-10-24 13:24:05 -03:00
Henrik Rydgård
a71fbccfbc Warning fixes for new LLVM on mac (warns on inconsistent usage of override) 2015-09-17 20:29:37 +02:00
Unknown W. Brackets
0c1a5324fb Merge pull request #7956 from unknownbrackets/arm64-minor
Unknown's min/max unordered-float fix for ARM64
2015-09-12 11:59:05 -07:00
Henrik Rydgard
62b348452d Add ARM64 emitter bugfix by HdkR. 2015-09-10 18:52:31 +02:00
Unknown W. Brackets
1fba38fd41 arm64: Add TST alias to the emitter. 2015-09-08 20:06:53 -07:00
Henrik Rydgard
1c67de0c21 We don't need a third set of sized integer typedefs, get rid of it. 2015-09-06 19:10:08 +02:00
Lioncash
959e4e70c0 Arm64Emitter: Fix FCMEQ instruction encoding 2015-08-10 21:12:08 -04:00
Ryan Houdek
f67abeeb2e Arm64Emitter: Fix FCMGE instruction encoding 2015-08-10 21:10:31 -04:00
Henrik Rydgard
f42f81a4da ARM64: Optimize small adjustments of pointerified registers 2015-07-11 16:59:11 +02:00
Henrik Rydgard
28456bef90 ARM64: Add NEON EOR encoding 2015-07-11 12:36:44 +02:00
Henrik Rydgard
72651835c3 A bunch more ARM64 encodings (*MIN,*MAX,XTN,SHRN, etc) 2015-07-11 12:16:56 +02:00
Unknown W. Brackets
2c6278501a arm64: Correct emitter for LDP/STP. 2015-07-04 07:18:58 -07:00
Unknown W. Brackets
7a7d8b6489 Buildfix for Windows.
Oops, forgot to recompile this file in Visual Studio after update.
2015-07-04 06:57:12 -07:00
Unknown W. Brackets
75c8ccd2c1 arm64: Update emitter from Dolphin.
From dolphin-emu/dolphin@d09d59007a.
2015-07-04 00:00:28 -07:00
Unknown W. Brackets
3780b6c0a5 arm64: Verify offset is aligned. 2015-07-02 20:31:36 -07:00
Unknown W. Brackets
31a5227076 arm64: Add umull alias. 2015-07-02 20:31:35 -07:00
Unknown W. Brackets
f355600c20 arm64: Handle negative MOVI2F more correctly.
Both -0.0 and some negated constant values were handled wrong.
2015-06-27 20:13:41 -07:00
Henrik Rydgard
2c05334d47 ARM64: Fix bug where we didn't save the FP registers correctly in the vertex decoder.
Also port a few ops from dolphin's ARM64 emitter.
2015-06-14 12:56:44 +02:00
Unknown W. Brackets
c10373ef06 ARM64: Fix some minor MSVC warnings. 2015-04-10 12:05:51 -07:00
Henrik Rydgård
39be916d8a ARM64: More emitter/disasm 2015-04-06 18:13:44 +02:00
Henrik Rydgård
459ba28655 ARM64: SW skinning runs without crashing but is broken. 2015-04-06 18:13:44 +02:00
Henrik Rydgård
597595f279 ARM64: Start implementing soft-skinning. Disabled for now, needs work. 2015-04-06 18:13:43 +02:00
Henrik Rydgård
f82b613371 ARM64 emitter/disasm: Implement ASIMD LDP/STP instructions 2015-04-06 18:13:42 +02:00
Henrik Rydgård
013bbc71af ARM64: Fix DUP disasm, INS disasm 2015-04-06 18:13:40 +02:00
Henrik Rydgård
a3db3ed5c1 ARM64 emitter: Fix UXTL/SXTL and friends. Add disasm. 2015-04-06 18:13:40 +02:00
Henrik Rydgård
853d6ea34b ARM64 emitter: Add FMLA/FMLS vector versions 2015-04-06 18:13:39 +02:00
Henrik Rydgård
065cd97dc2 ARM64: LLVM buildfix, some more disasm 2015-04-06 18:13:39 +02:00
Henrik Rydgård
13c9390c53 ARM64: Emitter fix, disable swl/swr/lwl/lwr again fully 2015-04-06 18:13:38 +02:00
Henrik Rydgård
9f24076b63 Make the unittests build on mac 2015-04-06 18:13:37 +02:00
Henrik Rydgard
0a70618f87 ARM64: Accurate floating point rounding. For some reason, FTZ doesn't seem to work though. 2015-04-06 18:13:36 +02:00
Henrik Rydgard
4618275f99 ARM64: Add a few aliases to emitter. Disasm fixes. 2015-04-06 18:13:33 +02:00
Henrik Rydgard
acf08eefa8 ARM64: Fix FCVTL, use it in v2hf 2015-04-06 18:13:33 +02:00
Henrik Rydgard
0849e270ee ARM64: fmla encoding, more disasm 2015-04-06 18:13:31 +02:00
Henrik Rydgard
ca58f322e5 ARM64: Port over some missing VFPU instructions from ARM. Not much left now. 2015-04-06 18:13:30 +02:00
Henrik Rydgard
9c79831237 ARM64 emitter: Fix FP immediates 2015-04-06 18:13:29 +02:00
Henrik Rydgard
9a5a093105 ARM64 emitter/disasm: More scalar FPU instructions 2015-04-06 18:13:27 +02:00
Henrik Rydgard
6cb107d6fc ARM64: Fix LDP disassembly 2015-04-06 18:13:25 +02:00
Henrik Rydgard
5a5f3c94fd ARM64: Guess what? more emitter & disasm 2015-04-06 18:13:24 +02:00
Henrik Rydgard
0f430e6cd1 ARM64: More asimd scalar disasm, encoding fix 2015-04-06 18:13:23 +02:00
Henrik Rydgard
9f689b871a ARM64: Work on emitting and disassembling fp conversion ops 2015-04-06 18:13:22 +02:00
Henrik Rydgard
a8be978154 ARM64 emitter: Add fixed point versions of SCVTF and UCVTF 2015-04-06 18:13:19 +02:00