forked from OSchip/llvm-project
[RISCV] Define the vand, vor and vxor RVV intrinsics
Define the `vand`, `vor` and `vxor` IR intrinsics for the respective V instructions. Authored-by: Roger Ferrer Ibanez <rofirrim@gmail.com> Co-Authored-by: Evandro Menezes <evandro.menezes@sifive.com> Differential Revision: https://reviews.llvm.org/D93574
This commit is contained in:
parent
9a8cab8bac
commit
ed73a78924
|
@ -396,6 +396,10 @@ let TargetPrefix = "riscv" in {
|
|||
defm vmsbc_borrow_in : RISCVBinaryMaskOutWithV0;
|
||||
defm vmsbc : RISCVBinaryMaskOut;
|
||||
|
||||
defm vand : RISCVBinaryAAX;
|
||||
defm vor : RISCVBinaryAAX;
|
||||
defm vxor : RISCVBinaryAAX;
|
||||
|
||||
defm vsll : RISCVBinaryAAX;
|
||||
defm vsrl : RISCVBinaryAAX;
|
||||
defm vsra : RISCVBinaryAAX;
|
||||
|
|
|
@ -1598,6 +1598,13 @@ defm PseudoVSBC : VPseudoBinaryV_VM_XM;
|
|||
defm PseudoVMSBC : VPseudoBinaryM_VM_XM<"@earlyclobber $rd">;
|
||||
defm PseudoVMSBC : VPseudoBinaryM_V_X<"@earlyclobber $rd">;
|
||||
|
||||
//===----------------------------------------------------------------------===//
|
||||
// 12.5. Vector Bitwise Logical Instructions
|
||||
//===----------------------------------------------------------------------===//
|
||||
defm PseudoVAND : VPseudoBinaryV_VV_VX_VI;
|
||||
defm PseudoVOR : VPseudoBinaryV_VV_VX_VI;
|
||||
defm PseudoVXOR : VPseudoBinaryV_VV_VX_VI;
|
||||
|
||||
//===----------------------------------------------------------------------===//
|
||||
// 12.6. Vector Single-Width Bit Shift Instructions
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
@ -1914,6 +1921,13 @@ defm "" : VPatBinaryV_VM_XM<"int_riscv_vsbc", "PseudoVSBC">;
|
|||
defm "" : VPatBinaryM_VM_XM<"int_riscv_vmsbc_borrow_in", "PseudoVMSBC">;
|
||||
defm "" : VPatBinaryM_V_X<"int_riscv_vmsbc", "PseudoVMSBC">;
|
||||
|
||||
//===----------------------------------------------------------------------===//
|
||||
// 12.5. Vector Bitwise Logical Instructions
|
||||
//===----------------------------------------------------------------------===//
|
||||
defm "" : VPatBinaryV_VV_VX_VI<"int_riscv_vand", "PseudoVAND", AllIntegerVectors>;
|
||||
defm "" : VPatBinaryV_VV_VX_VI<"int_riscv_vor", "PseudoVOR", AllIntegerVectors>;
|
||||
defm "" : VPatBinaryV_VV_VX_VI<"int_riscv_vxor", "PseudoVXOR", AllIntegerVectors>;
|
||||
|
||||
//===----------------------------------------------------------------------===//
|
||||
// 12.6. Vector Single-Width Bit Shift Instructions
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue