Skip to content

Commit 9bb29c3

Browse files
[RISCV][VLOPT] Add support for bitwise logical, single width shift, and vector move (#119412)
Add support and tests for these instructions. Get operand info test exist in llvm/test/CodeGen/RISCV/rvv/vl-opt-op-info.mir
1 parent 7eb73b9 commit 9bb29c3

File tree

2 files changed

+403
-25
lines changed

2 files changed

+403
-25
lines changed

llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp

Lines changed: 21 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -499,6 +499,26 @@ static bool isSupportedInstr(const MachineInstr &MI) {
499499
case RISCV::VSUB_VX:
500500
case RISCV::VRSUB_VI:
501501
case RISCV::VRSUB_VX:
502+
// Vector Bitwise Logical Instructions
503+
// Vector Single-Width Shift Instructions
504+
case RISCV::VAND_VI:
505+
case RISCV::VAND_VV:
506+
case RISCV::VAND_VX:
507+
case RISCV::VOR_VI:
508+
case RISCV::VOR_VV:
509+
case RISCV::VOR_VX:
510+
case RISCV::VXOR_VI:
511+
case RISCV::VXOR_VV:
512+
case RISCV::VXOR_VX:
513+
case RISCV::VSLL_VI:
514+
case RISCV::VSLL_VV:
515+
case RISCV::VSLL_VX:
516+
case RISCV::VSRL_VI:
517+
case RISCV::VSRL_VV:
518+
case RISCV::VSRL_VX:
519+
case RISCV::VSRA_VI:
520+
case RISCV::VSRA_VV:
521+
case RISCV::VSRA_VX:
502522
// Vector Widening Integer Add/Subtract
503523
case RISCV::VWADDU_VV:
504524
case RISCV::VWADDU_VX:
@@ -525,11 +545,6 @@ static bool isSupportedInstr(const MachineInstr &MI) {
525545
case RISCV::VSEXT_VF8:
526546
// Vector Integer Add-with-Carry / Subtract-with-Borrow Instructions
527547
// FIXME: Add support
528-
// Vector Bitwise Logical Instructions
529-
// FIXME: Add support
530-
// Vector Single-Width Shift Instructions
531-
// FIXME: Add support
532-
case RISCV::VSLL_VI:
533548
// Vector Narrowing Integer Right Shift Instructions
534549
// FIXME: Add support
535550
case RISCV::VNSRL_WI:
@@ -592,6 +607,7 @@ static bool isSupportedInstr(const MachineInstr &MI) {
592607
// FIXME: Add support
593608
case RISCV::VMV_V_I:
594609
case RISCV::VMV_V_X:
610+
case RISCV::VMV_V_V:
595611

596612
// Vector Crypto
597613
case RISCV::VWSLL_VI:

0 commit comments

Comments
 (0)