Merry
fae1d604e4
emit_arm64_memory: Use LDAR and STLR instead of barriers
2023-01-03 16:57:11 +00:00
Alexandre Bouvier
4bf4d6565e
cmake: allow shared llvm linking
2022-12-31 23:14:38 +00:00
Merry
300046b60b
backend/arm64/address_space: Assert that code_cache_size <= 128 MiB
2022-12-31 16:06:56 +00:00
Merry
a7523af706
CMakeLists: Add <oaknut/oaknut.hpp> to precompiled headers
2022-12-31 15:21:18 +00:00
Merry
3bdfbdb793
address_space: Block info should be associated with the entry_point, not the LocationDescriptor
...
This is because a LocationDescriptor can have multiple possible emitted blocks (only zero or one of which is the currently active
block). This allows us to store information for previously invalidated blocks, which is important because we can invalidate
blocks in the middle of executing them.
2022-12-31 14:54:01 +00:00
Merry
9117cc101a
a64_address_space: Fix ABI push/pop mismatch
2022-12-30 20:49:22 +00:00
Merry
11d73fedde
backend/arm64: Fix argument to AddTicks callback
2022-12-29 20:20:26 +00:00
merry
2492970039
emit_x64_vector_floating_point: AVX implementation for EmitFPVectorMinMaxNumeric
2022-12-29 19:38:45 +00:00
Merry
90d6a51f82
A32: Implement VMAXNM, VMINNM (ASIMD variant)
2022-12-29 19:08:45 +00:00
Merry
860ce278f9
simd_three_same: Use FPVector{Max,Min}Numeric IR instructions
2022-12-29 19:08:45 +00:00
Merry
7cb9254e9f
IR: Implement FPVector{Min,Max}Numeric
2022-12-29 19:08:42 +00:00
Merry
c8cd37898b
emit_x64_vector_floating_point: Remove erroneous AVX512 implementation in EmitFPVectorMinMax
2022-12-29 15:06:42 +00:00
Macdu
1fa1935d7c
frontend/A32, ir: Add missing include
2022-12-26 17:52:39 +00:00
Merry
7a2083b603
exception_handler: Minimize arm64 FakeCall
2022-12-11 17:34:28 +00:00
Merry
e07dde9ed5
emit_arm64_memory: Initial fastmem implementation
2022-12-11 17:26:49 +00:00
Merry
f4727c4ddb
backend/arm64/{a32,a64}_address_space: Fix wrapped functions
2022-12-11 17:07:40 +00:00
Merry
8e01ded5fd
CMakeLists: Add missing file
2022-12-11 14:57:20 +00:00
Merry
2ea2e44f93
backend/arm64: Implement fastmem infrastructure
2022-12-11 14:57:05 +00:00
Merry
3eddbf8428
address_space: Implement InvalidateBasicBlocks
2022-12-11 14:53:36 +00:00
Merry
84ca6fef0d
address_space: Add ReverseGet
2022-12-11 14:45:32 +00:00
Merry
407a9d202a
exception_handler_posix: Cleanup
2022-12-11 10:59:11 +00:00
Merry
d635b12b84
exception_handler_posix: Support arm64 backend
2022-12-11 02:51:44 +00:00
Merry
59fc92ee6e
backend/arm64/a64_address_space: Avoid use of stack in Emit*Read128CallTrampoline
2022-12-10 23:56:40 +00:00
Merry
e88c89ff47
emit_arm64_memory: Call prewrapped fallback functions
2022-12-10 23:48:35 +00:00
Merry
8f243089e0
backend/arm64/abi: Implement ToRegList
2022-12-10 23:12:04 +00:00
Merry
c01d27bb7c
backend/arm64: Inline page table implementation
...
Co-Authored-By: Liam <byteslice@airmail.cc>
2022-12-10 21:51:10 +00:00
Merry
c4226ba25b
backend/arm64: Implement Emit*CheckMemoryAbort
2022-12-10 18:38:53 +00:00
Merry
4fdc42182b
backend/arm64/abi: Reserve registers for pagetable and fastmem arena
2022-12-07 00:41:35 +00:00
Merry
d6b58b268b
arm64/emit_context: Add deferred_emits
2022-12-07 00:40:42 +00:00
merry
ac0a20795a
emit_arm64_memory: Simplify interface to just require a bitsize
2022-12-06 15:45:16 +00:00
merry
f8d8618af1
emit_arm64: Passthrough pagetable information
2022-12-06 14:53:14 +00:00
Merry
ec1f117665
backend/arm64: Merge memory handling
2022-12-05 22:34:00 +00:00
Merry
7660da4909
backend/arm64: Fix exclusive writes
2022-12-05 21:11:51 +00:00
Merry
2c87e2f76f
a64_address_space: Simplify 128-bit Q0->{X2,X3} transfer
2022-12-03 11:16:26 -05:00
Merry
6960d29868
a64_address_space: Remove fpsr load in step_code
2022-12-03 11:16:26 -05:00
Merry
4f1f7c8e97
arm64/reg_alloc: Remove PrepareForCallReg and PrepareForCallVec
2022-12-03 11:16:26 -05:00
Merry
73eecfbaef
emit_arm64_vector_floating_point: Simplify FPVectorAbs16
2022-12-03 11:16:26 -05:00
Merry
cf704a460d
EmitTwoOpFallbackWithoutRegAlloc: Simplify
2022-12-03 11:16:26 -05:00
Merry
6965095cb9
a64_address_space: Reorder declaration appropriately
2022-12-03 11:16:26 -05:00
Merry
c30ecd4d0b
a64_address_space: Don't load fpsr here
2022-12-03 11:16:26 -05:00
Merry
8f9d1dbf4e
address_space: Deduplicate {A32,A64}AddressSpace
2022-12-03 11:16:26 -05:00
Merry
0707aa3a04
emit_arm64: Remove is_a64
2022-12-03 11:16:26 -05:00
Merry
167ba85ce8
emit_arm64_a64: Implement A64GetCNTPCT
2022-12-03 11:16:26 -05:00
Merry
59ccccdc26
fixup
2022-12-03 11:16:26 -05:00
Merry
bcb5948ea2
GetNZCVFromOp: Ensure NZ00
2022-12-03 11:16:26 -05:00
Merry
26cef90d81
reg_alloc: Q0 is scratch and needs to be moved
2022-12-03 11:16:26 -05:00
Merry
f7a092c06b
emit_arm64_vector: Swap arguments of EmitSaturatedAccumulate
2022-12-03 11:16:26 -05:00
Merry
3fd19aac99
emit_arm64_floating_point: Implement ToOdd for FPDoubleToSingle
2022-12-03 11:16:26 -05:00
Merry
b26588123e
a64_interface: Remove jit_interface member
2022-12-03 11:16:26 -05:00
Liam
21b4211414
Add test for isolated GetNZCVFromOp
2022-12-03 11:16:26 -05:00