2341 Commits

Author SHA1 Message Date
Vitor Kiguchi
2b3be5eee8 enable DYNARMIC_ENABLE_NO_EXECUTE_SUPPORT by default on apple silicon 2021-05-04 13:01:19 -03:00
Vitor Kiguchi
94d1f7c01a Simplify apple silicon changes 2021-05-04 03:23:50 -03:00
Vitor Kiguchi
ad315fd20d Attempt to implement changes necessary for JIT on Apple Silicon
as described on https://developer.apple.com/documentation/apple-silicon/porting-just-in-time-compilers-to-apple-silicon
2021-04-28 14:58:24 -03:00
SachinVin
8856604383 test_arm_instructions.cpp: Fix missing } 2021-04-10 15:53:02 +05:30
SachinVin
358cf6f035
Merge pull request #1 from vitor-k/citra-m1
fix compilation targeting arm64 macos
2021-03-30 11:17:13 +05:30
Vitor Kiguchi
883c8fc2ca fix m1 compilation 2021-03-24 02:02:51 -03:00
xperia64
f9d84871fb Add AArch64 fixups 2020-11-22 20:36:19 -05:00
SachinVin
232c2588ab backend\A64\exception_handler_posix.cpp: remove unused header 2020-11-22 17:31:39 -05:00
SachinVin
9da8190874 backend\A64\exception_handler_posix.cpp: Fix typo in FindCodeBlockInfo 2020-11-22 17:31:39 -05:00
SachinVin
6fbe3bd275 tests/A32: remove unused function 2020-11-22 17:31:39 -05:00
SachinVin
b90d1921fa backend/A64:port single stepping fix 2020-11-22 17:31:39 -05:00
SachinVin
50782502a6 travis : a64: remove docker; dont fuzz against unicorn 2020-11-22 17:31:39 -05:00
SachinVin
06d3b35549 backend/A64: Use ASSERT_FALSE where possible 2020-11-22 17:31:39 -05:00
SachinVin
43bd471949 backend\A64\block_of_code.cpp: Remove stray semicolon 2020-11-22 17:31:39 -05:00
SachinVin
5613c1a042 backend\A64\reg_alloc.cpp: Fix assert 2020-11-22 17:31:39 -05:00
SachinVin
38556d1bf2 CmakeLists: DYNARMIC_FRONTENDS optin for A64 backend 2020-11-22 17:31:39 -05:00
SachinVin
3113b830c1 frontend/A32: remove decoder hack vfp instructions 2020-11-22 17:31:39 -05:00
SachinVin
54113d4546 a64_emiter: CountLeadingZeros intrinsic shortcuts 2020-11-22 17:31:39 -05:00
BreadFish64
cbfbb0ef8b emit_a64: get rid of useless NOP generation
We don't actually patch anything in those locations beside a jump.
2020-11-22 17:31:39 -05:00
SachinVin
f42cba71bb emit_a64: Do not clear fast_dispatch_table unnecessarily
port 4305c74 - emit_x64: Do not clear fast_dispatch_table unnecessarily
2020-11-22 17:31:39 -05:00
SachinVin
e5ba462a5d backend/A64/block_of_code.cpp: Clean up C style casts 2020-11-22 17:31:39 -05:00
SachinVin
30f5d5d354 backend/A64/a32_emit_a64.cpp: EmitA32{Get,Set}Fpscr, set the guest_fpcr to host fpcr 2020-11-22 17:31:39 -05:00
SachinVin
36c28648d7 backend/A64: Add Step 2020-11-22 17:31:39 -05:00
SachinVin
f9c841b66d backend/A64/block_of_code: Always specify codeptr to run from 2020-11-22 17:31:39 -05:00
BreadFish64
af010996a5 backend/A64: fix mp 2020-11-22 17:31:39 -05:00
SachinVin
d472e5ba61 backend/A64: Move SP to FP in GenMemoryAccessors + Minor cleanup and 2020-11-22 17:31:39 -05:00
SachinVin
8e1f543bfb backend/A64: Use X26 for storing remaining cycles. 2020-11-22 17:31:39 -05:00
BreadFish64
ec293f447b backend/A64: add fastmem support
fix crash on game close

fix generic exception handler

reorder hostloc gpr list

use temp register instead of X0 for writes

go back to regular std::partition
2020-11-22 17:31:39 -05:00
BreadFish64
0aa938209c merge fastmem 2020-11-22 17:31:39 -05:00
SachinVin
1234add918 backend\A64\constant_pool.cpp: Correct offset calculation 2020-11-22 17:31:39 -05:00
SachinVin
b4239a6a06 backend/A64/a32_jitstate: Upstream changes from x64 backend 2020-11-22 17:31:38 -05:00
SachinVin
85b607bdaa backend/A64: Add test for q flag being incorrectly set 2020-11-22 17:31:38 -05:00
SachinVin
35e40cb1a9 backend/A64/a32_emit_a64.cpp: Use unused HostCall registers 2020-11-22 17:30:50 -05:00
SachinVin
45b8f69855 backend/A64/a32_emit_a64.cpp: Use MOVP2R instead of MOVI2R. 2020-11-22 17:30:50 -05:00
SachinVin
9da0572c0d backend/A64/abi: Fix FP caller and callee save registers 2020-11-22 17:30:50 -05:00
SachinVin
2752b9c4e5 a64/block_of_code: use GetWritableCodePtr() instead of const_cast<...>(GetCodePtr()) 2020-11-22 17:30:50 -05:00
SachinVin
481af9f823 backend/A64/constant_pool: Clean up unused stuff 2020-11-22 17:30:50 -05:00
SachinVin
f837fab9dd emit_a64_data_processing.cpp: remove pointless DoNZCV. 2020-11-22 17:30:50 -05:00
SachinVin
50bf478e6a IR + backend/*: add SetCpsrNZCVRaw and change arg1 type of SetCpsrNZCV to IR::NZCV 2020-11-22 17:30:50 -05:00
SachinVin
16dbb68715 backend/A64: Fix ASR impl 2020-11-22 17:30:50 -05:00
SachinVin
f02ef43aa8 a64_emitter: Use Correct alias for ZR and WZR in CMP 2020-11-22 17:30:50 -05:00
SachinVin
0f3ef9babe backend/A64: Use CSLE instead of branches for LSL LSR and ASR + minor cleanup 2020-11-22 17:30:50 -05:00
SachinVin
f661d13906 backend/A64: Use correct register size for EmitNot64 2020-11-22 17:30:50 -05:00
SachinVin
b4addd2564 tests/A32: Check if Q flag is cleared properly 2020-11-22 17:30:49 -05:00
SachinVin
7c7968741e backend/A64: SignedSaturatedSub and SignedSaturatedAdd 2020-11-22 17:30:23 -05:00
SachinVin
131f9d69bd backend/A64/emit_a64_saturation.cpp: Implement EmitSignedSaturation and EmitUnsignedSaturation
Implements SSAT SSAT16 USAT USAT16 QASX QSAX UQASX UQSAX
2020-11-22 17:30:23 -05:00
SachinVin
5d0f1e84e8 backend/A64: add emit_a64_saturation.cpp 2020-11-22 17:30:23 -05:00
SachinVin
6cc068b8b9 backend/A64: Fix EmitA32SetCpsr 2020-11-22 17:30:23 -05:00
SachinVin
dbc7562190 backend/A64/devirtualize: remove unused DevirtualizeItanium 2020-11-22 17:30:23 -05:00
SachinVin
035dd1d2e0 backend/A64: refactor to fpscr from mxcsr 2020-11-22 17:30:23 -05:00