SamboyCoding / Disarm

Fast, pure-C# ARM64 Disassembler
17 stars 4 forks source link

Implemented some families #22

Closed BadRyuner closed 1 week ago

BadRyuner commented 2 weeks ago

I'll try to add more families this weekend, so DRAFT PR.

BadRyuner commented 2 weeks ago

Advanced Simd is very cursed.

coveralls commented 1 week ago

Pull Request Test Coverage Report for Build 10752050464

Details


Changes Missing Coverage Covered Lines Changed/Added Lines %
Disarm/InternalDisassembly/Arm64Barriers.cs 48 49 97.96%
Disarm/InternalDisassembly/Arm64Pstate.cs 20 22 90.91%
Disarm/InternalDisassembly/Arm64System.cs 79 81 97.53%
Disarm/InternalDisassembly/Arm64Hints.cs 0 48 0.0%
Disarm/InternalDisassembly/Arm64FloatingPoint.cs 0 67 0.0%
Disarm/InternalDisassembly/Arm64Simd.cs 0 69 0.0%
Disarm/InternalDisassembly/Arm64Branches.cs 2 98 2.04%
Disarm/InternalDisassembly/Arm64ScalarAdvancedSimd.cs 0 132 0.0%
Disarm/InternalDisassembly/Arm64LoadsStores.cs 0 274 0.0%
<!-- Total: 163 854 19.09% -->
Files with Coverage Reduction New Missed Lines %
Disarm/InternalDisassembly/Arm64Hints.cs 1 0.0%
Disarm/InternalDisassembly/Arm64ScalarAdvancedSimd.cs 1 9.27%
Disarm/InternalDisassembly/Arm64FloatingPoint.cs 2 45.62%
Disarm/InternalDisassembly/Arm64LoadsStores.cs 3 21.25%
Disarm/InternalDisassembly/Arm64Simd.cs 3 39.39%
Disarm/InternalDisassembly/Arm64Branches.cs 8 31.27%
<!-- Total: 18 -->
Totals Coverage Status
Change from base Build 10668496526: -5.4%
Covered Lines: 1736
Relevant Lines: 3776

💛 - Coveralls
BadRyuner commented 1 week ago

I should add tests for new instructions?

SamboyCoding commented 1 week ago

Ideally yes, everything newly added should be verified with some test disassembly.

SamboyCoding commented 1 week ago

I had however missed that this PR was no longer a draft so I could just merge and do the tests myself

SamboyCoding commented 1 week ago

Tests done for everything up to and including Arm64Branches.cs in the first table above. Last 2 files not tested yet. Did uncover a couple minor issues but fixed those and they're now covered by tests.

SamboyCoding commented 1 week ago

NB The "three same" you implemented was actually "Advanced SIMD Three Same" which was already implemented. The correct section to be included in that function is "Advanced SIMD Scalar Three Same"