Using the store rightmost vector element instructions to do vector
element extraction and store. The rightmost vector element on little
endian is the zeroth vector element, with these patterns that element
can be extracted and stored in one instruction for all vector types.
Details
- Reviewers
amyk lei nemanjai kamaub - Group Reviewers
Restricted Project - Commits
- rG8a58f21f5b6c: [PowerPC][Power10] Exploit store rightmost vector element instructions
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
llvm/test/CodeGen/PowerPC/builtins-ppc-p10vsx.ll | ||
---|---|---|
1 | There's some redundancies here:
Suggest to update thus so it's more clear what the changes are: RUN: llc -verify-machineinstrs -mtriple=powerpc64le-unknown-linux-gnu \ ; RUN: -mcpu=pwr10 -ppc-asm-full-reg-names -ppc-vsr-nums-as-vr < %s | \ ; RUN: FileCheck %s --check-prefix=CHECK,LE ; RUN: llc -verify-machineinstrs -mtriple=powerpc64-unknown-linux-gnu \ ; RUN: -mcpu=pwr10 -ppc-asm-full-reg-names -ppc-vsr-nums-as-vr < %s | \ ; RUN: FileCheck %s --check-prefix=CHECK,BE For cases where there is a differnce in LE and BE behaviour, remove the default CHECK and add new. Otherwise just leave the original default CHECKs. | |
llvm/test/CodeGen/PowerPC/store-rightmost-vector-elt.ll | ||
5 | run line for BE? |
Please address the comments regarding the test cases.
llvm/test/CodeGen/PowerPC/builtins-ppc-p10vsx.ll | ||
---|---|---|
1 | I also agree with Lei's comment. We should add check prefixes and remove/add the CHECKs when its necessary. | |
llvm/test/CodeGen/PowerPC/store-rightmost-vector-elt.ll | ||
5 | Agree we should have a run line for BE. |
@amyk If you request changes on behalf of PowerPC, you should accept it on behalf of PowerPC as well.
Or else it will show This revision was not accepted when it landed; it landed in state Needs Review. Thanks.
llvm/lib/Target/PowerPC/PPCInstrPrefix.td | ||
---|---|---|
2564 | This COPY_TO_REGCLASS and below are redundant and could cause issues in the future. Fixed in e73f885c988d. |
This COPY_TO_REGCLASS and below are redundant and could cause issues in the future. Fixed in e73f885c988d.