[llvm] 1f39511 - [RISCV] Add Zicond instructions to RISCVOptWInstrs like XVentanaCondOps.
Craig Topper via llvm-commits
llvm-commits at lists.llvm.org
Wed Aug 23 16:57:22 PDT 2023
Author: Craig Topper
Date: 2023-08-23T16:57:16-07:00
New Revision: 1f395115da076bd2b5a5ccd2b18ee92ee85d146e
URL: https://github.com/llvm/llvm-project/commit/1f395115da076bd2b5a5ccd2b18ee92ee85d146e
DIFF: https://github.com/llvm/llvm-project/commit/1f395115da076bd2b5a5ccd2b18ee92ee85d146e.diff
LOG: [RISCV] Add Zicond instructions to RISCVOptWInstrs like XVentanaCondOps.
Added:
Modified:
llvm/lib/Target/RISCV/RISCVOptWInstrs.cpp
llvm/test/CodeGen/RISCV/condops.ll
Removed:
################################################################################
diff --git a/llvm/lib/Target/RISCV/RISCVOptWInstrs.cpp b/llvm/lib/Target/RISCV/RISCVOptWInstrs.cpp
index 0f6aba20d6cd45..bd294c669735f4 100644
--- a/llvm/lib/Target/RISCV/RISCVOptWInstrs.cpp
+++ b/llvm/lib/Target/RISCV/RISCVOptWInstrs.cpp
@@ -284,6 +284,8 @@ static bool hasAllNBitUsers(const MachineInstr &OrigMI,
Worklist.push_back(std::make_pair(UserMI, Bits));
break;
+ case RISCV::CZERO_EQZ:
+ case RISCV::CZERO_NEZ:
case RISCV::VT_MASKC:
case RISCV::VT_MASKCN:
if (OpIdx != 1)
@@ -505,6 +507,8 @@ static bool isSignExtendedW(Register SrcReg, const RISCVSubtarget &ST,
break;
}
+ case RISCV::CZERO_EQZ:
+ case RISCV::CZERO_NEZ:
case RISCV::VT_MASKC:
case RISCV::VT_MASKCN:
// Instructions return zero or operand 1. Result is sign extended if
diff --git a/llvm/test/CodeGen/RISCV/condops.ll b/llvm/test/CodeGen/RISCV/condops.ll
index 0c6e20f942c8d8..c405b0ae171784 100644
--- a/llvm/test/CodeGen/RISCV/condops.ll
+++ b/llvm/test/CodeGen/RISCV/condops.ll
@@ -3114,7 +3114,7 @@ define void @sextw_removal_maskc(i1 %c, i32 signext %arg, i32 signext %arg1) nou
; RV64ZICOND-NEXT: czero.eqz s1, a1, a0
; RV64ZICOND-NEXT: .LBB54_1: # %bb2
; RV64ZICOND-NEXT: # =>This Inner Loop Header: Depth=1
-; RV64ZICOND-NEXT: sext.w a0, s1
+; RV64ZICOND-NEXT: mv a0, s1
; RV64ZICOND-NEXT: call bar at plt
; RV64ZICOND-NEXT: sllw s1, s1, s0
; RV64ZICOND-NEXT: bnez a0, .LBB54_1
@@ -3265,7 +3265,7 @@ define void @sextw_removal_maskcn(i1 %c, i32 signext %arg, i32 signext %arg1) no
; RV64ZICOND-NEXT: czero.nez s1, a1, a0
; RV64ZICOND-NEXT: .LBB55_1: # %bb2
; RV64ZICOND-NEXT: # =>This Inner Loop Header: Depth=1
-; RV64ZICOND-NEXT: sext.w a0, s1
+; RV64ZICOND-NEXT: mv a0, s1
; RV64ZICOND-NEXT: call bar at plt
; RV64ZICOND-NEXT: sllw s1, s1, s0
; RV64ZICOND-NEXT: bnez a0, .LBB55_1
More information about the llvm-commits
mailing list