[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