2298 Commits

Author SHA1 Message Date
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
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
SachinVin
287658878d backend/a64: Add hook_hint_instructions option
534eb0f
2020-11-22 17:30:23 -05:00
SachinVin
ccf47ec5cd backend /A64: cleanup 2020-11-22 17:30:23 -05:00
SachinVin
428477abe1 gitignore: add .vs dir 2020-11-22 17:30:23 -05:00
SachinVin
918be1fe40 Minor style fix 2020-11-22 17:30:23 -05:00
SachinVin
90b1e62490 backend\A64\emit_a64_packed.cpp: Implement AddSub halving and non halving 2020-11-22 17:30:23 -05:00
SachinVin
8245465b98 backend\A64: Instructions that got implemented on the way 2020-11-22 17:30:23 -05:00
SachinVin
f56f9c2b29 backend\A64\emit_a64_packed.cpp: Implement Unsigned Sum of Absolute Differences 2020-11-22 17:30:23 -05:00
SachinVin
5958810e56 a64 emitter: Absolute Difference and add across vector instructions 2020-11-22 17:30:23 -05:00
SachinVin
ab27fbc0c6 backend\A64\emit_a64_packed.cpp: Implement Packed Select 2020-11-22 17:30:23 -05:00
SachinVin
01682cd735 Backend/a64: Fix asset when falling back to interpreter 2020-11-22 17:30:23 -05:00
SachinVin
2c2666b0eb backend\A64\emit_a64_packed.cpp: Implement Packed Halving Add/Sub instructions 2020-11-22 17:30:23 -05:00
SachinVin
758481f5db backend\A64\emit_a64_packed.cpp: Implement Packed Saturating instructions 2020-11-22 17:30:23 -05:00
SachinVin
c8a910a009 backend\A64\emit_a64_packed.cpp: Implement SignedPacked*- ADD and SUB 2020-11-22 17:30:23 -05:00
SachinVin
2a378692fa a64 emitter: Vector Halving and Saturation instructions 2020-11-22 17:30:23 -05:00
SachinVin
a698e35422 backend\A64\emit_a64_packed.cpp: Implement UnsignedPacked*- ADD and SUB...
with few other in the emitter
2020-11-22 17:30:23 -05:00
SachinVin
7b6cc4ec70 a64 emitter: fix Scalar Saturating Instructions 2020-11-22 17:30:23 -05:00
SachinVin
1a03e361c3 A64 Emitter: Implement Saturating Add and Sub 2020-11-22 17:30:23 -05:00
SachinVin
2f9f317c9e backend\A64\emit_a64_data_processing.cpp: Implement Division 2020-11-22 17:30:23 -05:00
SachinVin
374c703335 backend\A64\emit_a64_data_processing.cpp: Implement 64bit CLZ 2020-11-22 17:30:23 -05:00
SachinVin
78619e5620 backend\A64\emit_a64_data_processing.cpp: Implement 64bit LSL and ROR Instructions
Also EmitTestBit
2020-11-22 17:30:23 -05:00
SachinVin
0398fc9b41 backend\A64\emit_a64_data_processing.cpp: Implement 64bit Logical Instructions 2020-11-22 17:30:23 -05:00
SachinVin
08ada2919d backend/a64: implememnt CheckBit 2020-11-22 17:30:23 -05:00
SachinVin
263a7c823a backend/a64: Redesign Const Pool 2020-11-22 17:30:23 -05:00
SachinVin
cb7228828e backend\A64\emit_a64_floating_point.cpp: Fix include paths 2020-11-22 17:30:23 -05:00
SachinVin
fe63ef0486 backend\A64\a32_emit_a64.cpp: Fix Coproc* after rebase 2020-11-22 17:30:23 -05:00
SachinVin
5bf010cc62 backend/a64/opcodes.inc: Coproc instructions 2020-11-22 17:30:23 -05:00
SachinVin
99728efc1b a64 emitter: Fix LDR literal 2020-11-22 17:30:23 -05:00
SachinVin
c45d11e0af a64 emitter: Move IsInRange* and MaskImm* into anon namespace 2020-11-22 17:30:23 -05:00
SachinVin
157435bd07 backend\A64\emit_a64_floating_point.cpp: Implement VADD VSUB VMUL and other stuff 2020-11-22 17:30:23 -05:00
SachinVin
7bae3c14ba backend\A64\emit_a64_floating_point.cpp: Implement VABS VNEG VCMP and a few others 2020-11-22 17:30:23 -05:00
SachinVin
b491d1aae6 frontend/A32/Decoder : (backend/a64)VMOV 2020-11-22 17:30:23 -05:00
SachinVin
0784f2fe0d backend\A64\emit_a64_floating_point.cpp: Implement VCVT instructions 2020-11-22 17:30:23 -05:00
SachinVin
b61bb8e313 backend\A64\emit_a64_floating_point.cpp: part 1 2020-11-22 17:30:23 -05:00
SachinVin
25532e4999 backend/a64/reg_alloc: Fix EmitMove for FPRs 2020-11-22 17:30:23 -05:00
SachinVin
c1130497b1 A64 emitter: Support for 64bit FMOV 2020-11-22 17:30:23 -05:00
SachinVin
c4fb80bf05 a64 backend: Load "guest_FPSR" 2020-11-22 17:30:23 -05:00
SachinVin
83ef2b7070 A64 backend: Add Get/SetExtendedRegister and Get/SetGEFlags 2020-11-22 17:30:23 -05:00
SachinVin
eacc261010 tests: Dont compile A64 tests for non x64 backend 2020-11-22 17:30:23 -05:00
SachinVin
89bb32bed5 travis a64: unicorn 2020-11-22 17:30:23 -05:00
SachinVin
20ab2e2e80 travis a64 backend 2020-11-22 17:30:23 -05:00
SachinVin
3850598ca2 Frontend/A32: a64 backend; Interpret SEL 2020-11-22 17:30:23 -05:00