[RISCV] Add the passthru operand for vadc/vsbc/vmerge/vfmerge IR intrinsics.
authorZakk Chen <zakk.chen@sifive.com>
Fri, 28 Jan 2022 16:16:25 +0000 (08:16 -0800)
committerZakk Chen <zakk.chen@sifive.com>
Thu, 17 Feb 2022 10:21:39 +0000 (02:21 -0800)
commit093ecccdab47640c5d94ace7ad440972f19f66a9
tree69011cab2bb2a43e41837313ff608946a25ff021
parent0389f2edf7c252e49323ae0ca6adfea9f2614f6d
[RISCV] Add the passthru operand for vadc/vsbc/vmerge/vfmerge IR intrinsics.

The goal is support tail and mask policy in RVV builtins.
We focus on IR part first.
If the passthru operand is undef, we use tail agnostic, otherwise
use tail undisturbed.

Reviewed By: rogfer01

Differential Revision: https://reviews.llvm.org/D119686
19 files changed:
clang/include/clang/Basic/riscv_vector.td
clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vadc.c
clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfmerge.c
clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vmerge.c
clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vsbc.c
clang/test/CodeGen/RISCV/rvv-intrinsics/vadc.c
clang/test/CodeGen/RISCV/rvv-intrinsics/vfmerge.c
clang/test/CodeGen/RISCV/rvv-intrinsics/vmerge.c
clang/test/CodeGen/RISCV/rvv-intrinsics/vsbc.c
llvm/include/llvm/IR/IntrinsicsRISCV.td
llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
llvm/test/CodeGen/RISCV/rvv/unmasked-tu.ll
llvm/test/CodeGen/RISCV/rvv/vadc-rv32.ll
llvm/test/CodeGen/RISCV/rvv/vadc-rv64.ll
llvm/test/CodeGen/RISCV/rvv/vfmerge.ll
llvm/test/CodeGen/RISCV/rvv/vmerge-rv32.ll
llvm/test/CodeGen/RISCV/rvv/vmerge-rv64.ll
llvm/test/CodeGen/RISCV/rvv/vsbc-rv32.ll
llvm/test/CodeGen/RISCV/rvv/vsbc-rv64.ll