llvm-project
8533889a - [RISCV] Partial support for using PPAIRE.B/H to optimize unaligned load sequences. (#183423)

Commit
1 day ago
[RISCV] Partial support for using PPAIRE.B/H to optimize unaligned load sequences. (#183423) Patterns are based on patterns we use for Zbkb. We can't copy all patterns because PPAIRE.B/H are a little different than PACKW/PACKH. PACKW packs the first 16 bits of rs1 and rs2 and sign extends the upper 32 bits of rd. PACKH packs the first 8 bits of rs1 and rs2 and puts zeros in bits 16 of rd. PPAIRE.B copies the even bytes of rs1 to the even bytes of rd and copies the even bytes of rs2 to the odd bytes of rd. PPAIRE.H is similar, but copys halfwords instead of bytes. We can treat them equivalently to PACKH/PACKW when we know that we only care about the lower halfword or word, respectively of the result.
Author
Parents
Loading