[RISCV] Use _TIED form of VFWADD(U)_WV/VFWSUB(U)_WV to avoid early clobber.
authorCraig Topper <craig.topper@sifive.com>
Tue, 4 Oct 2022 04:40:03 +0000 (21:40 -0700)
committerCraig Topper <craig.topper@sifive.com>
Tue, 4 Oct 2022 04:44:08 +0000 (21:44 -0700)
commit05df15965b16187ec8138f713348211e7f76cb37
tree25ecb1c21856ea0ed3330cbda59263674ea0d44d
parentb41fe90dc3ca442ea3a1f2039891ec0534273bb2
[RISCV] Use _TIED form of VFWADD(U)_WV/VFWSUB(U)_WV to avoid early clobber.

One of the sources is the same size as the destination so that source
doesn't have an overlap with the destination register. By using the _TIED
form we avoid an early clobber contraint for that source.

This matches what was already done for instrinsics. ConvertToThreeAddress
will fix it if it can't stay tied.
llvm/lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td
llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfwadd.ll
llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfwsub.ll
llvm/test/CodeGen/RISCV/rvv/vfwadd-sdnode.ll
llvm/test/CodeGen/RISCV/rvv/vfwsub-sdnode.ll