[PATCH] D113802: [PowerPC] Fix 32bit vector insert instructions for ISA3.1
Nemanja Ivanovic via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Nov 15 09:27:11 PST 2021
nemanjai added inline comments.
================
Comment at: llvm/lib/Target/PowerPC/PPCInstrPrefix.td:2835
+// Immediate vector insert element
+let AddedComplexity = 400, Predicates = [IsISA3_1, HasVSX, IsLittleEndian] in {
+ foreach Idx = [0, 1, 2, 3] in {
----------------
lei wrote:
> nemanjai wrote:
> > Why did you pull this out of the block above? The `Predicates` seem to be exactly the same.
> It's because of the complexity. For vector insert double, the original pattern generated:
> ```
> lfd f0, 0(r5)
> xxmrghd v2, v2, vs0
> ```
> seem to be better then forcing it to use VINSDRX
> ```
> ld r3, 0(r5)
> li r4, 0
> vinsdrx v2, r4, r3
> ```
I realize that we want to add the `AddedComplexity` but that should be orthogonal to `Predicates`
i.e.
```
let Predicates = [IsISA3_1, HasVSX, IsLittleEndian] in {
// defs
let AddedComplexity = 400 in {
// defs with the same predicates plus added complexity
}
}
```
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D113802/new/
https://reviews.llvm.org/D113802
More information about the llvm-commits
mailing list