[RISCV] Add isel patterns to match sbset/sbclr/sbinv/sbext even if the shift amount...
authorCraig Topper <craig.topper@sifive.com>
Mon, 9 Nov 2020 17:45:22 +0000 (09:45 -0800)
committerCraig Topper <craig.topper@sifive.com>
Mon, 9 Nov 2020 17:55:26 +0000 (09:55 -0800)
commitc0dd22e44a66cf16768850f7f15d0061ba793c85
tree646bb55982c31673e232bdd027de971ebea14533
parent2eccde4a2beb85eb10faf5184987bab180567e88
[RISCV] Add isel patterns to match sbset/sbclr/sbinv/sbext even if the shift amount isn't masked.

This uses the shiftop PatFrags to handle the masked shift amount
and unmasked shift amount cases. That also checks XLen as part
of the masked amount check so we don't need separate RV32 and RV64
patterns.

Differential Revision: https://reviews.llvm.org/D91016
llvm/lib/Target/RISCV/RISCVInstrInfoB.td
llvm/test/CodeGen/RISCV/rv32Zbs.ll
llvm/test/CodeGen/RISCV/rv64Zbs.ll