-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
riscv64: Add .vx
format opcodes
#6367
Conversation
@@ -840,7 +849,6 @@ pub fn reg_name(reg: Reg) -> String { | |||
pub fn vec_reg_name(reg: Reg) -> String { | |||
match reg.to_real_reg() { | |||
Some(real) => { | |||
assert_eq!(real.class(), RegClass::Float); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This assert triggers since we are now trying to format some integer registers and I didn't change the pretty printer. However this function gets removed in #6366, so I figured it's easier to wait for that to be merged and rebase this.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just one quick question about the funct6 values for Vadd and Vsub, otherwise this looks great!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks great, thank you Afonso!
👋 Hey,
This PR introduces
.vx
format opcodes, thesesplat
an X or F register and perform the respective operation.I've only added
vadd
,vsub
andvrsub
, but these are available for most opcodes.Additionally with the addition of
ineg
we now pass thesimd_*_arith.wast
test suites 🎉 . I'm planning on enabling those when both this and the RegClass PR's are merged.