Skip to content

Comments

Add support for multiple single elements vld1 instructions#7531

Open
icymanred wants to merge 8 commits intoVector35:devfrom
icymanred:dev
Open

Add support for multiple single elements vld1 instructions#7531
icymanred wants to merge 8 commits intoVector35:devfrom
icymanred:dev

Conversation

@icymanred
Copy link

This pr adds support for the multiple single elements variant of the vld1 instruction.
A new struct DoubleWordRegisterList is added to represent register lists and a function ReadRegisterList to read it is added.
A utility function GetDataTypeSize is also added to return the size of a instruction datatype in bits.
A visual comparison of llil before and after.

Before

image # After image

@CLAassistant
Copy link

CLAassistant commented Oct 24, 2025

CLA assistant check
All committers have signed the CLA.

@plafosse plafosse requested a review from Copilot October 28, 2025 12:48
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR adds support for the multiple single elements variant of the VLD1 instruction in ARMv7 architecture. The changes include utility functions for handling register lists and data type size calculations, along with the implementation of VLD1 instruction lifting to LLIL.

Key changes:

  • Added GetDataTypeSize function to convert data type enums to bit sizes
  • Added ReadRegisterList function to parse register list operands using platform-specific intrinsics
  • Implemented VLD1 instruction handling with proper register list iteration and memory load operations

Reviewed Changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 3 comments.

File Description
arch/armv7/il.cpp Added utility functions and VLD1 instruction implementation with register list handling and memory operations
arch/armv7/armv7_disasm/armv7.h Added DoubleWordRegisterList struct definition and formatting cleanup for ieee754_double union

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

plafosse and others added 2 commits October 28, 2025 08:53
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@plafosse plafosse requested a review from Copilot October 28, 2025 13:01
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

Copilot reviewed 2 out of 2 changed files in this pull request and generated 6 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@Vector35 Vector35 deleted a comment from Copilot AI Oct 28, 2025
add default case for armv7 vld1 unimplemented operand that adds unimplemented instruction
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants