Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

i#1569 AArch64: Implement move (immediate) to zero register. #2423

Merged
merged 2 commits into from
May 9, 2017

Conversation

egrimley
Copy link
Contributor

@egrimley egrimley commented May 8, 2017

Moving a value to the zero register is a no-op but we have seen
ADR XZR,... used by Node.js (libv8). Having these API functions,
instrlist_insert_mov_{immed_ptrsz,instr_addr}, create no instructions
potentially adds a case for the caller to handle but most uses of
those functions set the last two arguments to NULL in any case. If it
were a problem we could create a NOP instruction instead. Creating
actual moves to XZR seems less good and would be awkward if in
generating a constant value we ever used instructions that cannot
target XZR.

Moving a value to the zero register is a no-op but we have seen
ADR XZR,... used by Node.js (libv8). Having these API functions,
instrlist_insert_mov_{immed_ptrsz,instr_addr}, create no instructions
potentially adds a case for the caller to handle but most uses of
those functions set the last two arguments to NULL in any case. If it
were a problem we could create a NOP instruction instead. Creating
actual moves to XZR seems less good and would be awkward if in
generating a constant value we ever used instructions that cannot
target XZR.

Change-Id: I2791410d5b463906ddbc1f62e4d0f9023eb84633
@egrimley egrimley requested a review from derekbruening May 8, 2017 12:33
@egrimley egrimley merged commit 42d0ebc into master May 9, 2017
@egrimley egrimley deleted the i1569-mov-xzr branch May 9, 2017 09:30
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.

3 participants