-
Notifications
You must be signed in to change notification settings - Fork 142
[CIR][CIRGen][Builtin][Neon] Lower neon_vtst_v and neon_vtstq_v #1013
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
Conversation
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.
LGTM pending minor comment update
ops[0] = builder.createBitcast(ops[0], ty); | ||
ops[1] = builder.createBitcast(ops[1], ty); | ||
ops[0] = builder.createAnd(ops[0], ops[1]); | ||
// CIR VecCmpO LLVM Lowering always creates SExt for vector of int type |
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.
VecCmpO -> VecCmpOp
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.
LLVM isn't the only path to lower CIR from nor we should assume the reader knows anything about OG codegen. It's fine if you add a note about it but make sure you are not making assumptions of what this is going to be lowered to. Example:
// Note that during LLVM lowering `VecCmpOp` result is sign extended, matching what traditional codegen behavior.
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.
makes sense. Especially without looking at OG code, reader wouldn't know why this comment is here. Will change it.
In addition, this PR enables ZeroAttr of vector type so that CIR can generate a vector initialized with all zero values.
In addition, this PR enables ZeroAttr of vector type so that CIR can generate a vector initialized with all zero values.
In addition, this PR enables ZeroAttr of vector type so that CIR can generate a vector initialized with all zero values.