Henrik Rydgård and Claude Opus 5.5
4163737bbc
ARM64 disassembler: Cover everything the emitter can emit, add a test
...
Rewrites most of DisArm64.cpp. Previously missing: test-and-branch,
exceptions other than brk, hints and barriers, adc/sbc, conditional
compare, extr, literal loads, exclusives, unscaled and FP register
offset loads, ldpsw, SIMD structure loads/stores, scalar pairwise,
fixed-point conversions, fccmp, most two-reg misc ops, modified
immediates, smov/umov/dup from GPR, and the scalar shift forms.
Fixed: sp printed as x31, unsigned load offsets sign-extended, ldrsb and
friends shown as stores, adrp ignoring the page, double precision
1-source ops shown as single, fcmpe shown as fcmp, smulh/umulh, the
bitmask decode for 64-bit elements, and fpcr shown as fpsr. Common
aliases are used now (cset, mul, tst, cmn, lsl/asr/ubfx, sxtw...).
TestArm64Disasm runs two examples of every emitter function through it.
The expected strings were verified with Tools/arm64_disasm_check.py,
which compares all 833 instruction words against llvm-mc.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com >
2026-10-13 20:59:51 +02:00
Henrik Rydgård
8c13d209d5
Minor code cleanups
2025-07-11 15:09:15 +02:00
Henrik Rydgård
2e85eb5128
More static code analysis fixes
2024-10-28 17:59:06 +01:00
Henrik Rydgård
ed8f0c560a
Merge branch 'master' into fix-core-gpu-always-true
2024-09-17 13:03:26 +02:00
Henrik Rydgård
9dc8c05fae
Merge pull request #19038 from GermanAizek/all-fields-init-refactor
...
[Core/GL/UI] Not all fields initilize and minor code refactor
2024-05-12 17:05:39 +02:00
Herman Semenov
8e580045cd
Fixed condition always false using unsigned int and logical AND 0 & 4
2024-04-11 16:56:59 +03:00
Herman Semenov
c901e8c9bb
[Core/GPU] Fixed condition blocks where result always true
2024-04-11 16:05:11 +03:00
Herman Semenov
0d1f7e2e6c
[Core/GL/UI] Not all fields initilize and minor code refactor
2024-04-11 15:50:42 +03:00
Herman Semenov
2a31f8c6c0
[Common/Core/HLE] Object out of scope optimization for better codegeneration (lower level scope)
2023-12-20 12:33:56 +03:00
Unknown W. Brackets
1810692236
Global: Cleanup some type/range checks.
2022-12-10 21:13:37 -08:00
Unknown W. Brackets
3df6cb704f
Global: Fix some type conversion warnings.
...
Hidden by some warning disables.
2022-01-30 16:09:33 -08:00
Unknown W. Brackets
63e623ecb2
Build: Fix some format truncation warnings.
...
Generally all should be safe already, but better to be sure.
2021-12-11 10:45:27 -08:00
Unknown W. Brackets
f32f89dd90
Global: Remove some unused variables.
2021-02-15 11:59:45 -08:00
Unknown W. Brackets
667a8522cc
Global: Cut down on file/string includes.
2020-08-10 08:03:44 +00:00
Henrik Rydgård
6f97c3d422
Various platform buildfixes
2020-07-14 09:25:59 +02:00
Henrik Rydgard
c988d42b04
ARM/ARM64 instruction analysis, hook up to handler
2020-07-14 09:25:45 +02:00
Henrik Rydgard
a1ec735f6c
ARM64Emitter: Implement instructions to move data to/from SP
2017-01-26 14:23:42 +01:00
Henrik Rydgard
8914cd9914
ARM64 disassembler improvements (show many kinds of branch targets properly)
2015-10-10 11:27:28 +02:00
Henrik Rydgard
fdea85138c
Update project files, fix minor issues for VS 2015
2015-09-06 19:32:15 +02:00
Henrik Rydgard
72651835c3
A bunch more ARM64 encodings (*MIN,*MAX,XTN,SHRN, etc)
2015-07-11 12:16:56 +02:00
Henrik Rydgard
937feb6892
ARM64 disasm: Fix disasm of msr/mrs
2015-07-05 11:00:23 +02:00
Henrik Rydgard
b865070de1
ARM64 emitter/disasm: Fix LDNP/STNP disassembly, also fix test of smaddl
2015-07-05 09:57:58 +02:00
Unknown W. Brackets
31a5227076
arm64: Add umull alias.
2015-07-02 20:31:35 -07:00
Unknown W. Brackets
c10373ef06
ARM64: Fix some minor MSVC warnings.
2015-04-10 12:05:51 -07:00
Henrik Rydgård
39be916d8a
ARM64: More emitter/disasm
2015-04-06 18:13:44 +02:00
Henrik Rydgård
459ba28655
ARM64: SW skinning runs without crashing but is broken.
2015-04-06 18:13:44 +02:00
Henrik Rydgård
f82b613371
ARM64 emitter/disasm: Implement ASIMD LDP/STP instructions
2015-04-06 18:13:42 +02:00
Henrik Rydgård
013bbc71af
ARM64: Fix DUP disasm, INS disasm
2015-04-06 18:13:40 +02:00
Henrik Rydgård
a3db3ed5c1
ARM64 emitter: Fix UXTL/SXTL and friends. Add disasm.
2015-04-06 18:13:40 +02:00
Henrik Rydgård
853d6ea34b
ARM64 emitter: Add FMLA/FMLS vector versions
2015-04-06 18:13:39 +02:00
Henrik Rydgård
065cd97dc2
ARM64: LLVM buildfix, some more disasm
2015-04-06 18:13:39 +02:00
Henrik Rydgard
7d918c0ad8
ARM64: Just some disasm improvements
2015-04-06 18:13:35 +02:00
Henrik Rydgard
4618275f99
ARM64: Add a few aliases to emitter. Disasm fixes.
2015-04-06 18:13:33 +02:00
Henrik Rydgard
acf08eefa8
ARM64: Fix FCVTL, use it in v2hf
2015-04-06 18:13:33 +02:00
Henrik Rydgard
0849e270ee
ARM64: fmla encoding, more disasm
2015-04-06 18:13:31 +02:00
Henrik Rydgard
9c79831237
ARM64 emitter: Fix FP immediates
2015-04-06 18:13:29 +02:00
Henrik Rydgard
9a5a093105
ARM64 emitter/disasm: More scalar FPU instructions
2015-04-06 18:13:27 +02:00
Henrik Rydgard
6cb107d6fc
ARM64: Fix LDP disassembly
2015-04-06 18:13:25 +02:00
Henrik Rydgard
5a5f3c94fd
ARM64: Guess what? more emitter & disasm
2015-04-06 18:13:24 +02:00
Henrik Rydgard
0f430e6cd1
ARM64: More asimd scalar disasm, encoding fix
2015-04-06 18:13:23 +02:00
Henrik Rydgard
9f689b871a
ARM64: Work on emitting and disassembling fp conversion ops
2015-04-06 18:13:22 +02:00
Henrik Rydgard
2566972a4d
ARM64: Further disasm work
2015-04-06 18:13:21 +02:00
Henrik Rydgard
120e0bba3c
ARM64: Disassemble csel and multiply instructions
2015-04-06 18:13:19 +02:00
Henrik Rydgard
a12e448fb4
ARM64: Stub vertex decoder jit, implementing just enough for the cube.elf cube.
2015-04-06 18:13:18 +02:00
Henrik Rydgard
acd9502b44
ARM64: stp/ldp disasm improvements
2015-04-06 18:13:17 +02:00
Henrik Rydgard
2bca05c4f2
ARM64: implement shifts, movz/movn. Corresponding fixes to emitter/disasm
2015-04-06 18:13:14 +02:00
Henrik Rydgard
70f44c3894
ARM64 emitter: Default to non-extend instruction forms (LSL 0), fix bugs. also fixes to disasm.
2015-04-06 18:13:12 +02:00
Henrik Rydgard
d3669daba4
ARM64: Fixes to emitter and disassembly for logical immediates
2015-04-06 18:13:12 +02:00
Henrik Rydgard
0922db6062
ARM64: Some FP work.
2015-04-06 18:13:11 +02:00
Henrik Rydgard
d16bd1fd30
ARM64: Port over basic load/store from ARM. Works in FastMem only.
2015-04-06 18:13:10 +02:00