Skip to content

[arch/x86] Intel APX support#6423

Merged
emesare merged 4 commits into
Vector35:devfrom
nullableVoidPtr:dev
Feb 24, 2026
Merged

[arch/x86] Intel APX support#6423
emesare merged 4 commits into
Vector35:devfrom
nullableVoidPtr:dev

Conversation

@nullableVoidPtr

@nullableVoidPtr nullableVoidPtr commented Feb 17, 2025

Copy link
Copy Markdown
Contributor
  • EGPRs
  • JMPABS
  • Push/Pop
    • PUSH2
    • PUSHP
    • POP2
    • POPP
  • CCMPSCC
  • CFCMOVCC
  • CTESTSCC
  • SETCC
  • Zero Upper
    • IMUL
    • SETCC
  • New Data Destination

Resolves #5246

@xusheng6

Copy link
Copy Markdown
Member

@nullableVoidPtr thx for your work! Please let me know when you think the code is ready for reviewer!

@galenbwill galenbwill self-assigned this May 7, 2025
@galenbwill galenbwill added Arch: x86 Issues with the x86/x64 architecture plugin Type: Enhancement Component: Architecture Issue needs changes to an architecture plugin Impact: Low Issue is a papercut or has a good, supported workaround Effort: Medium Issues require < 1 month of work State: Blocked (Customer) Issue is blocked on waiting for a response from a customer labels May 7, 2025
@galenbwill galenbwill added this to the Future milestone May 7, 2025
@galenbwill galenbwill changed the title [arch/x86] Intel APX support [arch/x86] [WIP] Intel APX support May 7, 2025
@galenbwill galenbwill removed their assignment Aug 6, 2025
@psifertex psifertex marked this pull request as draft October 23, 2025 20:20
Comment thread arch/x86/arch_x86.cpp Outdated
Comment thread arch/x86/arch_x86.cpp Outdated
Comment thread arch/x86/arch_x86.cpp Outdated
Comment thread arch/x86/il.cpp Outdated
@emesare

emesare commented Dec 1, 2025

Copy link
Copy Markdown
Member

The push / pop lifting looks fine on the binary https://github.com/user-attachments/files/23866882/apxbin.zip

@emesare

emesare commented Dec 1, 2025

Copy link
Copy Markdown
Member
image

CCMP also looks correct, the conditional CMP block and the DFV write block look fine.

@nullableVoidPtr

Copy link
Copy Markdown
Contributor Author

Thanks for the test bin - I'll be sure to test against that; do you have a corpus for the other extension instructions?

@nullableVoidPtr nullableVoidPtr marked this pull request as ready for review December 3, 2025 08:50
@stong

stong commented Dec 3, 2025

Copy link
Copy Markdown

👏

@emesare

emesare commented Dec 3, 2025

Copy link
Copy Markdown
Member

Thanks for the test bin - I'll be sure to test against that; do you have a corpus for the other extension instructions?

I do not, I will make another with more of the extensions instructions expressed, thank you for responding quick!

@emesare emesare self-assigned this Dec 3, 2025
@emesare emesare removed the State: Blocked (Customer) Issue is blocked on waiting for a response from a customer label Dec 3, 2025
@emesare emesare modified the milestones: Future, Jotunheim Dec 3, 2025
@nullableVoidPtr nullableVoidPtr changed the title [arch/x86] [WIP] Intel APX support [arch/x86] Intel APX support Dec 4, 2025
@nullableVoidPtr

Copy link
Copy Markdown
Contributor Author

Heya, I consider this extension complete - is there any other blockers besides your testing?

@emesare

emesare commented Jan 26, 2026

Copy link
Copy Markdown
Member

Heya, I consider this extension complete - is there any other blockers besides your testing?

None, just have not merged it yet, will get it done shortly, sorry!

@emesare

emesare commented Feb 23, 2026

Copy link
Copy Markdown
Member

The sizing of non-ndd instructions was messed up between commits, I am running tests on the branch below, if you could double check my changes, once im done what I will do is merge my changes into your branch and then squash with you as the author

ab9dd3f

@nullableVoidPtr

Copy link
Copy Markdown
Contributor Author

Good catch with the NDD op lens, LGTM

@emesare

emesare commented Feb 24, 2026

Copy link
Copy Markdown
Member

Okay testing is done, I checked this branch against ~200k object files and nothing changed (which is good!), no performance regressions either, however I did find a blind spot in our COFF relocations in one binary leading to a fall through of a no-return call that then disassembles as an NDD instruction, but that is a separate issue entirely 😆.

@emesare emesare merged commit 3eda43f into Vector35:dev Feb 24, 2026
1 check passed
@emesare

emesare commented Feb 24, 2026

Copy link
Copy Markdown
Member

Available in 5.3.9178 thank you!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Arch: x86 Issues with the x86/x64 architecture plugin Component: Architecture Issue needs changes to an architecture plugin Effort: Medium Issues require < 1 month of work Impact: Low Issue is a papercut or has a good, supported workaround

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add support for Intel APX

6 participants