[llvm] [RISCV] Add DestEEW = EEW1 to VMADC. (PR #113013)

Craig Topper via llvm-commits llvm-commits at lists.llvm.org
Fri Oct 18 18:20:12 PDT 2024


https://github.com/topperc created https://github.com/llvm/llvm-project/pull/113013

It was present on VMSBC but not VMADC. Reorder the instructions to avoid duplicate 'let' statements.

>From 8cf5aef4b353e16472dade55a2ef651a9f507d54 Mon Sep 17 00:00:00 2001
From: Craig Topper <craig.topper at sifive.com>
Date: Fri, 18 Oct 2024 18:18:24 -0700
Subject: [PATCH] [RISCV] Add DestEEW = EEW1 to VMADC.

It was present on VMSBC but not VMADC. Reorder the instructions to
avoid duplicate 'let' statements.
---
 llvm/lib/Target/RISCV/RISCVInstrInfoV.td | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/llvm/lib/Target/RISCV/RISCVInstrInfoV.td b/llvm/lib/Target/RISCV/RISCVInstrInfoV.td
index 6f7d14d5503bd3..29759132c47d7e 100644
--- a/llvm/lib/Target/RISCV/RISCVInstrInfoV.td
+++ b/llvm/lib/Target/RISCV/RISCVInstrInfoV.td
@@ -1142,13 +1142,11 @@ defm VSEXT_VF2 : VALU_MV_VS2<"vsext.vf2", 0b010010, 0b00111>;
 
 // Vector Integer Add-with-Carry / Subtract-with-Borrow Instructions
 defm VADC_V : VALUm_IV_V_X_I<"vadc", 0b010000>;
-let Constraints = "@earlyclobber $vd", RVVConstraint = NoConstraint in {
-defm VMADC_V : VALUm_IV_V_X_I<"vmadc", 0b010001>;
-defm VMADC_V : VALUNoVm_IV_V_X_I<"vmadc", 0b010001>;
-} // Constraints = "@earlyclobber $vd", RVVConstraint = NoConstraint
 defm VSBC_V : VALUm_IV_V_X<"vsbc", 0b010010>;
 let Constraints = "@earlyclobber $vd", RVVConstraint = NoConstraint,
     DestEEW = EEW1 in {
+defm VMADC_V : VALUm_IV_V_X_I<"vmadc", 0b010001>;
+defm VMADC_V : VALUNoVm_IV_V_X_I<"vmadc", 0b010001>;
 defm VMSBC_V : VALUm_IV_V_X<"vmsbc", 0b010011>;
 defm VMSBC_V : VALUNoVm_IV_V_X<"vmsbc", 0b010011>;
 } // Constraints = "@earlyclobber $vd", RVVConstraint = NoConstraint, DestEEW = EEW1



More information about the llvm-commits mailing list