Marshall Mohror
af0d4a7c18
backend/A64: Fix signal_stack_size
for glibc 2.34
...
`SIGSTKSZ` is now defined as `sysconf(_SC_SIGSTKSZ)` which is not constexpr, and returns a long which throws off the `std::max` template deduction.
2021-10-22 23:28:58 +05:30
Marshall Mohror
b0200a0485
Fix signal_stack_size
for glibc 2.34
...
`SIGSTKSZ` is now defined as `sysconf(_SC_SIGSTKSZ)` which is not constexpr, and returns a long which throws off the `std::max` template deduction.
Signed-off-by: Enrico Belleri <idesmi@protonmail.com>
2021-10-21 18:32:36 +02:00
Jessica Clarke
bef990b74e
Fix A32-on-A64 for Apple Silicon
...
Unpatch is called from InvalidateBasicBlocks, which has temporarily
enabled writing, and thus disabled execution. However, the fast dispatch
lookup code is dynamically generated just like the rest of the JITed
output and so also is currently not executable. Thus we must temporarily
disable writing, and thus re-enable execution, whilst we run the lookup
function, otherwise we will fault on jumping to it.
2021-05-13 02:33:10 +01:00
SachinVin
707ae88153
backend\A64\a32_emit_a64.cpp: work around implicit lambda capture
2021-05-08 00:08:02 +05:30
SachinVin
722600e4f2
backend\A64\block_of_code.cpp: add [[maybe_unused]]
for parameter in ProtectMemory for arm64 macs
2021-05-08 00:08:02 +05:30
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
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
b90d1921fa
backend/A64:port single stepping fix
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
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
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
SachinVin
07922b318d
backend/A64: Use ScratchGpr() instead of ABI_SCRATCH1 where possible
2020-11-22 17:30:23 -05:00
SachinVin
6d36c1f4f9
backend/A64: support for always_little_endian
2020-11-22 17:30:23 -05:00