[CIR][CIRGen][Builtin][X86] Lower cvt*2mask intrinsics #2
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is by far the most challenging intrinsic I've tackled so far.I can truly say that the learning process was amazing.
Couple of things
I've encoded assertions on control flow paths non related to these sets of intrinsics. I believe it's way easier to review that way. I'll implement the rest along the way.
I found some inconsistencies with OG in regards of the lowering of vec cmp ops, hence:
If graphite is not clear enough this patch requires both:
[CIR][Lowering] Fix Vector Comparison Lowering with -fno-signed-char/unsigned operand #1
[CIR][Lowering] Fix inconditional sign extension on vec.cmp op llvm/clangir#1747
in order to be merged.