3160 Commits

Author SHA1 Message Date
SachinVin
a4fc791ae8 Backend/A64: add Polyfill optimization 2022-11-20 22:20:54 +05:30
SachinVin
6aea986fb2 backend/A64: update API for Memory{Read,Write}Exclusive{8,16,32,64}
fix ReadMemory

fix write

fix exclusive read/write

simplify readMemory
2022-11-20 22:20:54 +05:30
SachinVin
a692cf61a2 Backend/A64: Partial global exclusive monitor
fix spinlocks on arm64

backend A64: no xbyak

spin_lock_arm64 fixes

simplify spin_lock_arm64

a64_emitter.cpp: fix some exclusive load/store codegen

spin lcok clang format
2022-11-20 22:20:53 +05:30
SachinVin
c500e61966 remove unused disassemble 2022-11-20 22:20:53 +05:30
SachinVin
1f302f397f clang-format 2022-11-20 22:20:53 +05:30
SachinVin
d459cb6f59 backend/A64: clear upper 32bits for PackedAbsDiffSumS8 test case 2022-11-20 22:20:53 +05:30
SachinVin
60e798d886 backend\A64\a32_emit_a64: Implement UpdateUpperLocationDescriptor 2022-11-20 22:20:53 +05:30
SachinVin
5aa60e72a3 backend\A64\a32_interface.cpp: update Disassemble inteface 2022-11-20 22:20:53 +05:30
SachinVin
d57e1f9010 backend/A64: update Optimization flags 2022-11-20 22:20:53 +05:30
SachinVin
b525a3c20f backend/A64: implement HaltReason
fix Jz

backend/A64: Jz again
2022-11-20 22:20:53 +05:30
SachinVin
8bd79dc382 CI: add initial CI build
CI cross compile

CI: add initial arm
# This is the 1st commit message:
2022-11-20 22:20:53 +05:30
SachinVin
b93759f914 backend\A64: remove unused insructions 2022-11-20 22:20:53 +05:30
SachinVin
c654544aeb backend\A64\reg_alloc.cpp: Handle AccType 2022-11-20 22:20:53 +05:30
SachinVin
41bdd03bbe backend/A64/opcodes.inc: Add new ir instructions 2022-11-20 22:20:52 +05:30
SachinVin
5198956e72 a64_emitter.cpp: Fix fmt formatting in asserts 2022-11-20 22:20:52 +05:30
SachinVin
0d66d30d42 backend\A64\emitter: Fix Windows build
constify

constify2

constify3: the uncostification
2022-11-20 22:20:52 +05:30
SachinVin
8e0ec356c0 backend/A64: Update header path
fix header

using
2022-11-20 22:20:52 +05:30
SachinVin
a870e9e74b backend/A64: migrate to mcl
backend\A64\devirtualize.h: fixup mcl
2022-11-20 22:20:52 +05:30
SachinVin
df9d373a84 Debt: backport A64 backend
enable W^X on Apple silicon
2022-11-20 22:20:52 +05:30
Macdu
97edb626c7 emit_arm64_a32: Improve A32SetCpsr 2022-11-20 16:21:47 +00:00
Macdu
ad6a04c584 backend/arm64: FPVectorToHalf32 implementation 2022-11-20 16:21:47 +00:00
Merry
5e2206d0e9 dynarmic: 6.3.0 2022-11-19 21:42:42 +00:00
Merry
93b18ee8e2 A32: Allow for user-adjustable per-instruction tick counts 2022-11-19 21:42:13 +00:00
Merry
07c614f91b dynarmic: 6.2.4 2022-11-19 20:07:34 +00:00
Merry
f2781c58b7 a64_emit_x64_memory: Correct bug in GenMemory128Accessors, misaligned stack 2022-11-19 20:07:10 +00:00
Wunk
e23d61d124
backend/arm64: Add MSVC C++ ABI devirtualization (#718)
MSVC C++ uses a non-standard ABI definition that must be specially
handled:
https://rants.vastheman.com/2021/09/21/msvc
2022-11-15 20:22:47 +00:00
Merry
dd36a52048 externals: Update oaknut to 1.1.3
Merge commit 'cb8abc3ae5a1fcd3d7b6ab73472cdf9093302631'
2022-11-15 15:37:16 +00:00
Merry
cb8abc3ae5 Squashed 'externals/oaknut/' changes from c0c715505..72f7ccd94
72f7ccd94 oaknut: 1.1.3
0b5745e4e oaknut: Add Windows on Arm support (#1)
5de40335d oaknut: 1.1.2
2952b759f oaknut: Correct MOV (UMOV alias)
c90eb31ca oaknut: 1.1.1
7c777a28f oaknut: Fix ADR and ADRP
7470c7611 oaknut: Add ARMv8.2 instructions
9eb7cca88 oaknut: Update README
3fe32849a oaknut: 1.1.0
542128b51 oaknut: Add ARMv8.1 instructions
9acafdcdd oaknut: fpsimd MOV and UMOV corrections
636f91bac oaknut: MOV: Fix MOVN case
9cb332621 oaknut: Implement arranged accessors from DReg and QReg
ba2dc2afe oaknut: dx
94bf56b08 oaknut: align
aa7a3519f oaknut: Add dw
898f666ec oaknut: Add common system registers

git-subtree-dir: externals/oaknut
git-subtree-split: 72f7ccd9409dadf6a4ab98bad1fb11fbf0ca4d74
2022-11-15 15:36:04 +00:00
Merry
068519b2cd a32_interface: Clear cache invalidation flag prior to performing cache invalidation 2022-11-13 15:38:42 +00:00
Merry
9d6758b4ae emit_arm64: Fix 1MB block link limit 2022-11-11 23:57:07 +00:00
Liam
424fdb5c50 a64_interface: stub for A64 backend 2022-11-09 21:55:11 +00:00
Merry
5f753e483f test_generator: Allow rerunning jit 2022-11-08 21:40:45 +00:00
Merry
d6f2a15834 backend/arm64: Simple block linking 2022-11-08 21:40:45 +00:00
Merry
fa6b58d3a8 emit_arm64: EmitAddCycles: Do not emit code if cycles_to_add == 0 2022-11-08 21:40:45 +00:00
Merry
7dbd87ba2d backend/arm64/a32_address_space: Terminate early if halted prior to execution beginning 2022-11-08 21:40:45 +00:00
Liam
282bd3ad5c a32_interface: fix copy paste error 2022-11-06 21:24:05 +00:00
Merry
e476fad5a2 backend/arm64: Implement cycle counting 2022-11-06 01:10:29 +00:00
SachinVin
b5ad066372
backend/arm64: Properly return halt reason (#713) 2022-11-05 19:32:48 +00:00
Merry
848e0913df decoder_detail: Fix Android NDK compilation issue 2022-11-05 19:25:12 +00:00
Banny
4b80be4bd9
backend/arm64/a32_address_space: Protect code memory at end of prologue emission (#712)
Bug fix
2022-10-23 23:04:10 +01:00
Macdu
f374d6acb0 FPVectorFromHalf32 implementation 2022-10-18 15:04:30 +01:00
Macdu
58a1e4cc63 Implement CallHostFunction 2022-10-18 15:04:30 +01:00
Macdu
79ff9401f3 Small fixes 2022-10-18 15:04:30 +01:00
FreddyFunk
64a5ca7c2e tests: remove unused default iterations in TestThumb 2022-10-18 15:04:30 +01:00
Merry
85fa32ce98 github: Run unit tests for aarch64 2022-10-18 15:04:30 +01:00
Merry
1d60047078 a32_interface: Temporary implementation of ranged cache invalidation 2022-10-18 15:04:30 +01:00
Merry
d90e0db502 backend/arm64: Implement Step 2022-10-18 15:04:30 +01:00
Merry
cf47ab3b42 emit_arm64_a32_memory: Implement all callbacks 2022-10-18 15:04:30 +01:00
Merry
d2deb496da tests/A32: Add coprocessor tests 2022-10-18 15:04:30 +01:00
Merry
94f5ae4f37 emit_arm64_a32_coprocessor: Implement coprocessor IR instructions 2022-10-18 15:04:30 +01:00