[llvm] 9dd7c73 - [RISCV][P-ext] Remove VXSAT from SHL/SHLR/SHA/SHAR. Add to PSAS and PSSA. (#195488)
via llvm-commits
llvm-commits at lists.llvm.org
Tue May 5 20:10:38 PDT 2026
Author: Craig Topper
Date: 2026-05-05T20:10:33-07:00
New Revision: 9dd7c7376ac95acc032c0ee5e6877f4bdfda5eaa
URL: https://github.com/llvm/llvm-project/commit/9dd7c7376ac95acc032c0ee5e6877f4bdfda5eaa
DIFF: https://github.com/llvm/llvm-project/commit/9dd7c7376ac95acc032c0ee5e6877f4bdfda5eaa.diff
LOG: [RISCV][P-ext] Remove VXSAT from SHL/SHLR/SHA/SHAR. Add to PSAS and PSSA. (#195488)
Added:
Modified:
llvm/lib/Target/RISCV/RISCVInstrInfoP.td
Removed:
################################################################################
diff --git a/llvm/lib/Target/RISCV/RISCVInstrInfoP.td b/llvm/lib/Target/RISCV/RISCVInstrInfoP.td
index e696f1b10c112..eb943e8e9569d 100644
--- a/llvm/lib/Target/RISCV/RISCVInstrInfoP.td
+++ b/llvm/lib/Target/RISCV/RISCVInstrInfoP.td
@@ -645,25 +645,21 @@ let Predicates = [HasStdExtP, IsRV64] in {
def PADD_WS : RVPBinaryScalar_rr<0b001, 0b01, 0b010, "padd.ws">;
- let Defs = [VXSAT] in {
+ let Defs = [VXSAT] in
def PSSHL_WS : RVPBinaryScalar_rr<0b010, 0b01, 0b010, "psshl.ws">;
def SHL : RVPBinaryScalar_rr<0b010, 0b11, 0b010, "shl">;
- } // Defs = [VXSAT]
- let Defs = [VXSAT] in {
+ let Defs = [VXSAT] in
def PSSHLR_WS : RVPBinaryScalar_rr<0b011, 0b01, 0b010, "psshlr.ws">;
def SHLR : RVPBinaryScalar_rr<0b011, 0b11, 0b010, "shlr">;
- } // Defs = [VXSAT]
- let Defs = [VXSAT] in {
+ let Defs = [VXSAT] in
def PSSHA_WS : RVPBinaryScalar_rr<0b110, 0b01, 0b010, "pssha.ws">;
def SHA : RVPBinaryScalar_rr<0b110, 0b11, 0b010, "sha">;
- } // Defs = [VXSAT]
- let Defs = [VXSAT] in {
+ let Defs = [VXSAT] in
def PSSHAR_WS : RVPBinaryScalar_rr<0b111, 0b01, 0b010, "psshar.ws">;
def SHAR : RVPBinaryScalar_rr<0b111, 0b11, 0b010, "shar">;
- } // Defs = [VXSAT]
} // Predicates = [HasStdExtP, IsRV64]
let Predicates = [HasStdExtP] in {
@@ -1101,8 +1097,10 @@ let Predicates = [HasStdExtP] in {
def PAS_HX : RVPBinary_rr<0b0000, 0b00, 0b110, "pas.hx">;
def PSA_HX : RVPBinary_rr<0b0000, 0b10, 0b110, "psa.hx">;
+ let Defs = [VXSAT] in {
def PSAS_HX : RVPBinary_rr<0b0010, 0b00, 0b110, "psas.hx">;
def PSSA_HX : RVPBinary_rr<0b0010, 0b10, 0b110, "pssa.hx">;
+ } // Defs = [VXSAT]
def PAAS_HX : RVPBinary_rr<0b0011, 0b00, 0b110, "paas.hx">;
def PASA_HX : RVPBinary_rr<0b0011, 0b10, 0b110, "pasa.hx">;
@@ -1139,8 +1137,10 @@ let Predicates = [HasStdExtP, IsRV64] in {
def PAS_WX : RVPBinary_rr<0b0000, 0b01, 0b110, "pas.wx">;
def PSA_WX : RVPBinary_rr<0b0000, 0b11, 0b110, "psa.wx">;
+ let Defs = [VXSAT] in {
def PSAS_WX : RVPBinary_rr<0b0010, 0b01, 0b110, "psas.wx">;
def PSSA_WX : RVPBinary_rr<0b0010, 0b11, 0b110, "pssa.wx">;
+ } // Defs = [VXSAT]
def PAAS_WX : RVPBinary_rr<0b0011, 0b01, 0b110, "paas.wx">;
def PASA_WX : RVPBinary_rr<0b0011, 0b11, 0b110, "pasa.wx">;
@@ -1632,8 +1632,10 @@ let Predicates = [HasStdExtP, IsRV32] in {
def PAS_DHX : RVPPairBinaryExchanged_rr<0b0000, 0b00, "pas.dhx">;
def PSA_DHX : RVPPairBinaryExchanged_rr<0b0000, 0b10, "psa.dhx">;
+ let Defs = [VXSAT] in {
def PSAS_DHX : RVPPairBinaryExchanged_rr<0b0010, 0b00, "psas.dhx">;
def PSSA_DHX : RVPPairBinaryExchanged_rr<0b0010, 0b10, "pssa.dhx">;
+ } // Defs = [VXSAT]
def PAAS_DHX : RVPPairBinaryExchanged_rr<0b0011, 0b00, "paas.dhx">;
def PASA_DHX : RVPPairBinaryExchanged_rr<0b0011, 0b10, "pasa.dhx">;
More information about the llvm-commits
mailing list