Implemented Builtins for Load VSX Vector and sign extend and zero extend along with appropriate test cases. The new instructions are used for ZEXT but SEXT will continue to use the previously generated ASM.
nemanjai saghir hfinkel amyk
- Group Reviewers
- rG331dcc43eac2: [PowerPC] Implemented Vector Load with Zero and Signed Extend Builtins
We should put all such def at the top of this file under:
// PowerPC specific type constraints.
Put these under the type constraints section and doc with:
// PowerPC specific DAG Nodes.
|3 ↗||(On Diff #275124)|
remve extra line. Makes the comment harder to read.
|10 ↗||(On Diff #275124)|
You don't need the local_unnamed_addr #0
nit: don't need () aroud !ValidLDType
I don't think we need to explicitly say this sine everything we do here is for pattern matching to appropriate instructions in the backend...
Can just merge this into the next line and remove this tmp value.
|6 ↗||(On Diff #275423)|
Please add tests for BE.
Please update this patch to remove the instruction defs and MC tests. Also, you can update the patch to put your backend llc tests in the file I've introduced in: https://reviews.llvm.org/D82467
You did not assign anything here?
Removed duplicate test code found in the instructions and MC Test implementation of VSX Vector store and load with sign extend or zero extend; re-added a test file that was omitted in the last diff update.
The title of the patch mentions both zero extend and sign extend.
However, it seems that we only have instructions for the zero extend case. Is that right?
I see both types of tests in:
But I only see codegen tests for the zreo extend version.
I bring it up because I want to make sure that this is intentional.
I'm a little confused about this.
It looks like you are doing this for zero extend only.
Could we also elaborate in the description on how we are utilizing the new load instructions for zero extend case but not the sign extend case?
Over 80 characters?
This line actually is for -O0 and not a BE RUN line. I believe the most up to date version of the test includes the LE, BE and O0 line.