llvmorg-github-actions[bot] wrote:

<!--LLVM PR SUMMARY COMMENT-->

@llvm/pr-subscribers-backend-x86

Author: TelGome

<details>
<summary>Changes</summary>

This pr support RISC-V P extension intrinsics [Packed Multiply 
High](https://github.com/riscv/riscv-p-spec/blob/master/P-ext-intrinsics.adoc#packed-multiply-high)

---

Patch is 64.83 KiB, truncated to 20.00 KiB below, full version: 
https://github.com/llvm/llvm-project/pull/211236.diff


9 Files Affected:

- (modified) clang/include/clang/Basic/BuiltinsRISCV.td (+22) 
- (modified) clang/lib/CodeGen/TargetBuiltins/RISCV.cpp (+50-1) 
- (modified) clang/lib/Headers/riscv_packed_simd.h (+112-96) 
- (modified) clang/test/CodeGen/RISCV/rvp-intrinsics.c (+400) 
- (modified) cross-project-tests/intrinsic-header-tests/riscv_packed_simd.c 
(+132) 
- (modified) llvm/include/llvm/IR/IntrinsicsRISCV.td (+8) 
- (modified) llvm/lib/Target/RISCV/RISCVISelLowering.cpp (+87-1) 
- (modified) llvm/test/CodeGen/RISCV/rvp-simd-32.ll (+54) 
- (modified) llvm/test/CodeGen/RISCV/rvp-simd-64.ll (+180) 


``````````diff
diff --git a/clang/include/clang/Basic/BuiltinsRISCV.td 
b/clang/include/clang/Basic/BuiltinsRISCV.td
index 3814958d81f8b..238db03cb24e7 100644
--- a/clang/include/clang/Basic/BuiltinsRISCV.td
+++ b/clang/include/clang/Basic/BuiltinsRISCV.td
@@ -265,6 +265,28 @@ def psabs_i16x2 : RISCVBuiltin<"_Vector<2, 
short>(_Vector<2, short>)">;
 def psabs_i8x8 : RISCVBuiltin<"_Vector<8, signed char>(_Vector<8, signed 
char>)">;
 def psabs_i16x4 : RISCVBuiltin<"_Vector<4, short>(_Vector<4, short>)">;
 
+// Packed Multiply High (32-bit)
+def pmulh_i16x2 : RISCVBuiltin<"_Vector<2, short>(_Vector<2, short>, 
_Vector<2, short>)">;
+def pmulhu_u16x2 : RISCVBuiltin<"_Vector<2, unsigned short>(_Vector<2, 
unsigned short>, _Vector<2, unsigned short>)">;
+def pmulhsu_i16x2 : RISCVBuiltin<"_Vector<2, short>(_Vector<2, short>, 
_Vector<2, unsigned short>)">;
+def pmulhr_i16x2 : RISCVBuiltin<"_Vector<2, short>(_Vector<2, short>, 
_Vector<2, short>)">;
+def pmulhru_u16x2 : RISCVBuiltin<"_Vector<2, unsigned short>(_Vector<2, 
unsigned short>, _Vector<2, unsigned short>)">;
+def pmulhrsu_i16x2 : RISCVBuiltin<"_Vector<2, short>(_Vector<2, short>, 
_Vector<2, unsigned short>)">;
+
+// Packed Multiply High (64-bit)
+def pmulh_i16x4 : RISCVBuiltin<"_Vector<4, short>(_Vector<4, short>, 
_Vector<4, short>)">;
+def pmulhu_u16x4 : RISCVBuiltin<"_Vector<4, unsigned short>(_Vector<4, 
unsigned short>, _Vector<4, unsigned short>)">;
+def pmulhsu_i16x4 : RISCVBuiltin<"_Vector<4, short>(_Vector<4, short>, 
_Vector<4, unsigned short>)">;
+def pmulhr_i16x4 : RISCVBuiltin<"_Vector<4, short>(_Vector<4, short>, 
_Vector<4, short>)">;
+def pmulhru_u16x4 : RISCVBuiltin<"_Vector<4, unsigned short>(_Vector<4, 
unsigned short>, _Vector<4, unsigned short>)">;
+def pmulhrsu_i16x4 : RISCVBuiltin<"_Vector<4, short>(_Vector<4, short>, 
_Vector<4, unsigned short>)">;
+def pmulh_i32x2 : RISCVBuiltin<"_Vector<2, int>(_Vector<2, int>, _Vector<2, 
int>)">;
+def pmulhu_u32x2 : RISCVBuiltin<"_Vector<2, unsigned int>(_Vector<2, unsigned 
int>, _Vector<2, unsigned int>)">;
+def pmulhsu_i32x2 : RISCVBuiltin<"_Vector<2, int>(_Vector<2, int>, _Vector<2, 
unsigned int>)">;
+def pmulhr_i32x2 : RISCVBuiltin<"_Vector<2, int>(_Vector<2, int>, _Vector<2, 
int>)">;
+def pmulhru_u32x2 : RISCVBuiltin<"_Vector<2, unsigned int>(_Vector<2, unsigned 
int>, _Vector<2, unsigned int>)">;
+def pmulhrsu_i32x2 : RISCVBuiltin<"_Vector<2, int>(_Vector<2, int>, _Vector<2, 
unsigned int>)">;
+
 } // Features = "experimental-p"
 
 
//===----------------------------------------------------------------------===//
diff --git a/clang/lib/CodeGen/TargetBuiltins/RISCV.cpp 
b/clang/lib/CodeGen/TargetBuiltins/RISCV.cpp
index a3b1db1732af9..df1c8790ef232 100644
--- a/clang/lib/CodeGen/TargetBuiltins/RISCV.cpp
+++ b/clang/lib/CodeGen/TargetBuiltins/RISCV.cpp
@@ -1263,7 +1263,26 @@ Value *CodeGenFunction::EmitRISCVBuiltinExpr(unsigned 
BuiltinID,
   case RISCV::BI__builtin_riscv_psabs_i8x4:
   case RISCV::BI__builtin_riscv_psabs_i16x2:
   case RISCV::BI__builtin_riscv_psabs_i8x8:
-  case RISCV::BI__builtin_riscv_psabs_i16x4: {
+  case RISCV::BI__builtin_riscv_psabs_i16x4:
+  // Packed Multiply High
+  case RISCV::BI__builtin_riscv_pmulh_i16x2:
+  case RISCV::BI__builtin_riscv_pmulhu_u16x2:
+  case RISCV::BI__builtin_riscv_pmulhsu_i16x2:
+  case RISCV::BI__builtin_riscv_pmulhr_i16x2:
+  case RISCV::BI__builtin_riscv_pmulhru_u16x2:
+  case RISCV::BI__builtin_riscv_pmulhrsu_i16x2:
+  case RISCV::BI__builtin_riscv_pmulh_i16x4:
+  case RISCV::BI__builtin_riscv_pmulhu_u16x4:
+  case RISCV::BI__builtin_riscv_pmulhsu_i16x4:
+  case RISCV::BI__builtin_riscv_pmulhr_i16x4:
+  case RISCV::BI__builtin_riscv_pmulhru_u16x4:
+  case RISCV::BI__builtin_riscv_pmulhrsu_i16x4:
+  case RISCV::BI__builtin_riscv_pmulh_i32x2:
+  case RISCV::BI__builtin_riscv_pmulhu_u32x2:
+  case RISCV::BI__builtin_riscv_pmulhsu_i32x2:
+  case RISCV::BI__builtin_riscv_pmulhr_i32x2:
+  case RISCV::BI__builtin_riscv_pmulhru_u32x2:
+  case RISCV::BI__builtin_riscv_pmulhrsu_i32x2: {
     switch (BuiltinID) {
     default:
       llvm_unreachable("unexpected builtin ID");
@@ -1355,6 +1374,36 @@ Value *CodeGenFunction::EmitRISCVBuiltinExpr(unsigned 
BuiltinID,
     case RISCV::BI__builtin_riscv_psabs_i16x4:
       ID = Intrinsic::riscv_psabs;
       break;
+    case RISCV::BI__builtin_riscv_pmulh_i16x2:
+    case RISCV::BI__builtin_riscv_pmulh_i16x4:
+    case RISCV::BI__builtin_riscv_pmulh_i32x2:
+      ID = Intrinsic::riscv_pmulh;
+      break;
+    case RISCV::BI__builtin_riscv_pmulhu_u16x2:
+    case RISCV::BI__builtin_riscv_pmulhu_u16x4:
+    case RISCV::BI__builtin_riscv_pmulhu_u32x2:
+      ID = Intrinsic::riscv_pmulhu;
+      break;
+    case RISCV::BI__builtin_riscv_pmulhsu_i16x2:
+    case RISCV::BI__builtin_riscv_pmulhsu_i16x4:
+    case RISCV::BI__builtin_riscv_pmulhsu_i32x2:
+      ID = Intrinsic::riscv_pmulhsu;
+      break;
+    case RISCV::BI__builtin_riscv_pmulhr_i16x2:
+    case RISCV::BI__builtin_riscv_pmulhr_i16x4:
+    case RISCV::BI__builtin_riscv_pmulhr_i32x2:
+      ID = Intrinsic::riscv_pmulhr;
+      break;
+    case RISCV::BI__builtin_riscv_pmulhru_u16x2:
+    case RISCV::BI__builtin_riscv_pmulhru_u16x4:
+    case RISCV::BI__builtin_riscv_pmulhru_u32x2:
+      ID = Intrinsic::riscv_pmulhru;
+      break;
+    case RISCV::BI__builtin_riscv_pmulhrsu_i16x2:
+    case RISCV::BI__builtin_riscv_pmulhrsu_i16x4:
+    case RISCV::BI__builtin_riscv_pmulhrsu_i32x2:
+      ID = Intrinsic::riscv_pmulhrsu;
+      break;
     }
 
     IntrinsicTypes = {ResultType};
diff --git a/clang/lib/Headers/riscv_packed_simd.h 
b/clang/lib/Headers/riscv_packed_simd.h
index 7d40f046eba80..91215aa2f039d 100644
--- a/clang/lib/Headers/riscv_packed_simd.h
+++ b/clang/lib/Headers/riscv_packed_simd.h
@@ -66,9 +66,10 @@ typedef uint32_t uint32x2_t 
__attribute__((__vector_size__(8)));
     return op __rs1;                                                           
\
   }
 
-#define __packed_binary_builtin(name, ty, builtin)                             
\
-  static __inline__ ty __DEFAULT_FN_ATTRS __riscv_##name(ty __rs1, ty __rs2) { 
\
-    return builtin(__rs1, __rs2);                                              
\
+#define __packed_binary_builtin(name, rty, ty1, ty2, builtin)                  
\
+  static __inline__ rty __DEFAULT_FN_ATTRS __riscv_##name(ty1 __rs1,           
\
+                                                          ty2 __rs2) {         
\
+    return (rty)builtin(__rs1, __rs2);                                         
\
   }
 
 #define __packed_sh1add(name, ty)                                              
\
@@ -97,12 +98,6 @@ typedef uint32_t uint32x2_t 
__attribute__((__vector_size__(8)));
     return (rty)__builtin_elementwise_abs(__rs1);                              
\
   }
 
-#define __packed_binary_builtin_cast(name, ty, rty, builtin)                   
\
-  static __inline__ rty __DEFAULT_FN_ATTRS __riscv_##name(ty __rs1,            
\
-                                                          ty __rs2) {          
\
-    return (rty)builtin(__rs1, __rs2);                                         
\
-  }
-
 #define __packed_reduction(name, rty, ty, builtin)                             
\
   static __inline__ rty __DEFAULT_FN_ATTRS __riscv_##name(ty __rs1,            
\
                                                           rty __rs2) {         
\
@@ -320,28 +315,28 @@ __packed_scalar_binary_op(padd_s_i32x2, int32x2_t, 
int32_t, +,
                           __packed_splat2)
 
 /* Packed Saturating Addition and Subtraction (32-bit) */
-__packed_binary_builtin(psadd_i8x4, int8x4_t, __builtin_elementwise_add_sat)
-__packed_binary_builtin(psadd_i16x2, int16x2_t, __builtin_elementwise_add_sat)
-__packed_binary_builtin(psaddu_u8x4, uint8x4_t, __builtin_elementwise_add_sat)
-__packed_binary_builtin(psaddu_u16x2, uint16x2_t, 
__builtin_elementwise_add_sat)
-__packed_binary_builtin(pssub_i8x4, int8x4_t, __builtin_elementwise_sub_sat)
-__packed_binary_builtin(pssub_i16x2, int16x2_t, __builtin_elementwise_sub_sat)
-__packed_binary_builtin(pssubu_u8x4, uint8x4_t, __builtin_elementwise_sub_sat)
-__packed_binary_builtin(pssubu_u16x2, uint16x2_t, 
__builtin_elementwise_sub_sat)
+__packed_binary_builtin(psadd_i8x4, int8x4_t, int8x4_t, int8x4_t, 
__builtin_elementwise_add_sat)
+__packed_binary_builtin(psadd_i16x2, int16x2_t, int16x2_t, int16x2_t, 
__builtin_elementwise_add_sat)
+__packed_binary_builtin(psaddu_u8x4, uint8x4_t, uint8x4_t, uint8x4_t, 
__builtin_elementwise_add_sat)
+__packed_binary_builtin(psaddu_u16x2, uint16x2_t, uint16x2_t, uint16x2_t, 
__builtin_elementwise_add_sat)
+__packed_binary_builtin(pssub_i8x4, int8x4_t, int8x4_t, int8x4_t, 
__builtin_elementwise_sub_sat)
+__packed_binary_builtin(pssub_i16x2, int16x2_t, int16x2_t, int16x2_t, 
__builtin_elementwise_sub_sat)
+__packed_binary_builtin(pssubu_u8x4, uint8x4_t, uint8x4_t, uint8x4_t, 
__builtin_elementwise_sub_sat)
+__packed_binary_builtin(pssubu_u16x2, uint16x2_t, uint16x2_t, uint16x2_t, 
__builtin_elementwise_sub_sat)
 
 /* Packed Saturating Addition and Subtraction (64-bit) */
-__packed_binary_builtin(psadd_i8x8, int8x8_t, __builtin_elementwise_add_sat)
-__packed_binary_builtin(psadd_i16x4, int16x4_t, __builtin_elementwise_add_sat)
-__packed_binary_builtin(psadd_i32x2, int32x2_t, __builtin_elementwise_add_sat)
-__packed_binary_builtin(psaddu_u8x8, uint8x8_t, __builtin_elementwise_add_sat)
-__packed_binary_builtin(psaddu_u16x4, uint16x4_t, 
__builtin_elementwise_add_sat)
-__packed_binary_builtin(psaddu_u32x2, uint32x2_t, 
__builtin_elementwise_add_sat)
-__packed_binary_builtin(pssub_i8x8, int8x8_t, __builtin_elementwise_sub_sat)
-__packed_binary_builtin(pssub_i16x4, int16x4_t, __builtin_elementwise_sub_sat)
-__packed_binary_builtin(pssub_i32x2, int32x2_t, __builtin_elementwise_sub_sat)
-__packed_binary_builtin(pssubu_u8x8, uint8x8_t, __builtin_elementwise_sub_sat)
-__packed_binary_builtin(pssubu_u16x4, uint16x4_t, 
__builtin_elementwise_sub_sat)
-__packed_binary_builtin(pssubu_u32x2, uint32x2_t, 
__builtin_elementwise_sub_sat)
+__packed_binary_builtin(psadd_i8x8, int8x8_t, int8x8_t, int8x8_t, 
__builtin_elementwise_add_sat)
+__packed_binary_builtin(psadd_i16x4, int16x4_t, int16x4_t, int16x4_t, 
__builtin_elementwise_add_sat)
+__packed_binary_builtin(psadd_i32x2, int32x2_t, int32x2_t, int32x2_t, 
__builtin_elementwise_add_sat)
+__packed_binary_builtin(psaddu_u8x8, uint8x8_t, uint8x8_t, uint8x8_t, 
__builtin_elementwise_add_sat)
+__packed_binary_builtin(psaddu_u16x4, uint16x4_t, uint16x4_t, uint16x4_t, 
__builtin_elementwise_add_sat)
+__packed_binary_builtin(psaddu_u32x2, uint32x2_t, uint32x2_t, uint32x2_t, 
__builtin_elementwise_add_sat)
+__packed_binary_builtin(pssub_i8x8, int8x8_t, int8x8_t, int8x8_t, 
__builtin_elementwise_sub_sat)
+__packed_binary_builtin(pssub_i16x4, int16x4_t, int16x4_t, int16x4_t, 
__builtin_elementwise_sub_sat)
+__packed_binary_builtin(pssub_i32x2, int32x2_t, int32x2_t, int32x2_t, 
__builtin_elementwise_sub_sat)
+__packed_binary_builtin(pssubu_u8x8, uint8x8_t, uint8x8_t, uint8x8_t, 
__builtin_elementwise_sub_sat)
+__packed_binary_builtin(pssubu_u16x4, uint16x4_t, uint16x4_t, uint16x4_t, 
__builtin_elementwise_sub_sat)
+__packed_binary_builtin(pssubu_u32x2, uint32x2_t, uint32x2_t, uint32x2_t, 
__builtin_elementwise_sub_sat)
 
 /* Packed Shift-Add (32-bit) */
 __packed_sh1add(psh1add_i16x2, int16x2_t)
@@ -357,50 +352,50 @@ __packed_sh1sadd(pssh1sadd_i16x4, int16x4_t)
 __packed_sh1sadd(pssh1sadd_i32x2, int32x2_t)
 
 /* Packed Exchanged Addition and Subtraction (32-bit) */
-__packed_binary_builtin(pas_x_i16x2, int16x2_t, __builtin_riscv_pas_x_i16x2)
-__packed_binary_builtin(psa_x_i16x2, int16x2_t, __builtin_riscv_psa_x_i16x2)
-__packed_binary_builtin(psas_x_i16x2, int16x2_t, __builtin_riscv_psas_x_i16x2)
-__packed_binary_builtin(pssa_x_i16x2, int16x2_t, __builtin_riscv_pssa_x_i16x2)
-__packed_binary_builtin(paas_x_i16x2, int16x2_t, __builtin_riscv_paas_x_i16x2)
-__packed_binary_builtin(pasa_x_i16x2, int16x2_t, __builtin_riscv_pasa_x_i16x2)
+__packed_binary_builtin(pas_x_i16x2, int16x2_t, int16x2_t, int16x2_t, 
__builtin_riscv_pas_x_i16x2)
+__packed_binary_builtin(psa_x_i16x2, int16x2_t, int16x2_t, int16x2_t, 
__builtin_riscv_psa_x_i16x2)
+__packed_binary_builtin(psas_x_i16x2, int16x2_t, int16x2_t, int16x2_t, 
__builtin_riscv_psas_x_i16x2)
+__packed_binary_builtin(pssa_x_i16x2, int16x2_t, int16x2_t, int16x2_t, 
__builtin_riscv_pssa_x_i16x2)
+__packed_binary_builtin(paas_x_i16x2, int16x2_t, int16x2_t, int16x2_t, 
__builtin_riscv_paas_x_i16x2)
+__packed_binary_builtin(pasa_x_i16x2, int16x2_t, int16x2_t, int16x2_t, 
__builtin_riscv_pasa_x_i16x2)
 
 /* Packed Exchanged Addition and Subtraction (64-bit) */
-__packed_binary_builtin(pas_x_i16x4, int16x4_t, __builtin_riscv_pas_x_i16x4)
-__packed_binary_builtin(psa_x_i16x4, int16x4_t, __builtin_riscv_psa_x_i16x4)
-__packed_binary_builtin(psas_x_i16x4, int16x4_t, __builtin_riscv_psas_x_i16x4)
-__packed_binary_builtin(pssa_x_i16x4, int16x4_t, __builtin_riscv_pssa_x_i16x4)
-__packed_binary_builtin(paas_x_i16x4, int16x4_t, __builtin_riscv_paas_x_i16x4)
-__packed_binary_builtin(pasa_x_i16x4, int16x4_t, __builtin_riscv_pasa_x_i16x4)
-__packed_binary_builtin(pas_x_i32x2, int32x2_t, __builtin_riscv_pas_x_i32x2)
-__packed_binary_builtin(psa_x_i32x2, int32x2_t, __builtin_riscv_psa_x_i32x2)
-__packed_binary_builtin(psas_x_i32x2, int32x2_t, __builtin_riscv_psas_x_i32x2)
-__packed_binary_builtin(pssa_x_i32x2, int32x2_t, __builtin_riscv_pssa_x_i32x2)
-__packed_binary_builtin(paas_x_i32x2, int32x2_t, __builtin_riscv_paas_x_i32x2)
-__packed_binary_builtin(pasa_x_i32x2, int32x2_t, __builtin_riscv_pasa_x_i32x2)
+__packed_binary_builtin(pas_x_i16x4, int16x4_t, int16x4_t, int16x4_t, 
__builtin_riscv_pas_x_i16x4)
+__packed_binary_builtin(psa_x_i16x4, int16x4_t, int16x4_t, int16x4_t, 
__builtin_riscv_psa_x_i16x4)
+__packed_binary_builtin(psas_x_i16x4, int16x4_t, int16x4_t, int16x4_t, 
__builtin_riscv_psas_x_i16x4)
+__packed_binary_builtin(pssa_x_i16x4, int16x4_t, int16x4_t, int16x4_t, 
__builtin_riscv_pssa_x_i16x4)
+__packed_binary_builtin(paas_x_i16x4, int16x4_t, int16x4_t, int16x4_t, 
__builtin_riscv_paas_x_i16x4)
+__packed_binary_builtin(pasa_x_i16x4, int16x4_t, int16x4_t, int16x4_t, 
__builtin_riscv_pasa_x_i16x4)
+__packed_binary_builtin(pas_x_i32x2, int32x2_t, int32x2_t, int32x2_t, 
__builtin_riscv_pas_x_i32x2)
+__packed_binary_builtin(psa_x_i32x2, int32x2_t, int32x2_t, int32x2_t, 
__builtin_riscv_psa_x_i32x2)
+__packed_binary_builtin(psas_x_i32x2, int32x2_t, int32x2_t, int32x2_t, 
__builtin_riscv_psas_x_i32x2)
+__packed_binary_builtin(pssa_x_i32x2, int32x2_t, int32x2_t, int32x2_t, 
__builtin_riscv_pssa_x_i32x2)
+__packed_binary_builtin(paas_x_i32x2, int32x2_t, int32x2_t, int32x2_t, 
__builtin_riscv_paas_x_i32x2)
+__packed_binary_builtin(pasa_x_i32x2, int32x2_t, int32x2_t, int32x2_t, 
__builtin_riscv_pasa_x_i32x2)
 
 /* Packed Minimum and Maximum (32-bit) */
-__packed_binary_builtin(pmin_i8x4, int8x4_t, __builtin_elementwise_min)
-__packed_binary_builtin(pmin_i16x2, int16x2_t, __builtin_elementwise_min)
-__packed_binary_builtin(pminu_u8x4, uint8x4_t, __builtin_elementwise_min)
-__packed_binary_builtin(pminu_u16x2, uint16x2_t, __builtin_elementwise_min)
-__packed_binary_builtin(pmax_i8x4, int8x4_t, __builtin_elementwise_max)
-__packed_binary_builtin(pmax_i16x2, int16x2_t, __builtin_elementwise_max)
-__packed_binary_builtin(pmaxu_u8x4, uint8x4_t, __builtin_elementwise_max)
-__packed_binary_builtin(pmaxu_u16x2, uint16x2_t, __builtin_elementwise_max)
+__packed_binary_builtin(pmin_i8x4, int8x4_t, int8x4_t, int8x4_t, 
__builtin_elementwise_min)
+__packed_binary_builtin(pmin_i16x2, int16x2_t, int16x2_t, int16x2_t, 
__builtin_elementwise_min)
+__packed_binary_builtin(pminu_u8x4, uint8x4_t, uint8x4_t, uint8x4_t, 
__builtin_elementwise_min)
+__packed_binary_builtin(pminu_u16x2, uint16x2_t, uint16x2_t, uint16x2_t, 
__builtin_elementwise_min)
+__packed_binary_builtin(pmax_i8x4, int8x4_t, int8x4_t, int8x4_t, 
__builtin_elementwise_max)
+__packed_binary_builtin(pmax_i16x2, int16x2_t, int16x2_t, int16x2_t, 
__builtin_elementwise_max)
+__packed_binary_builtin(pmaxu_u8x4, uint8x4_t, uint8x4_t, uint8x4_t, 
__builtin_elementwise_max)
+__packed_binary_builtin(pmaxu_u16x2, uint16x2_t, uint16x2_t, uint16x2_t, 
__builtin_elementwise_max)
 
 /* Packed Minimum and Maximum (64-bit) */
-__packed_binary_builtin(pmin_i8x8, int8x8_t, __builtin_elementwise_min)
-__packed_binary_builtin(pmin_i16x4, int16x4_t, __builtin_elementwise_min)
-__packed_binary_builtin(pmin_i32x2, int32x2_t, __builtin_elementwise_min)
-__packed_binary_builtin(pminu_u8x8, uint8x8_t, __builtin_elementwise_min)
-__packed_binary_builtin(pminu_u16x4, uint16x4_t, __builtin_elementwise_min)
-__packed_binary_builtin(pminu_u32x2, uint32x2_t, __builtin_elementwise_min)
-__packed_binary_builtin(pmax_i8x8, int8x8_t, __builtin_elementwise_max)
-__packed_binary_builtin(pmax_i16x4, int16x4_t, __builtin_elementwise_max)
-__packed_binary_builtin(pmax_i32x2, int32x2_t, __builtin_elementwise_max)
-__packed_binary_builtin(pmaxu_u8x8, uint8x8_t, __builtin_elementwise_max)
-__packed_binary_builtin(pmaxu_u16x4, uint16x4_t, __builtin_elementwise_max)
-__packed_binary_builtin(pmaxu_u32x2, uint32x2_t, __builtin_elementwise_max)
+__packed_binary_builtin(pmin_i8x8, int8x8_t, int8x8_t, int8x8_t, 
__builtin_elementwise_min)
+__packed_binary_builtin(pmin_i16x4, int16x4_t, int16x4_t, int16x4_t, 
__builtin_elementwise_min)
+__packed_binary_builtin(pmin_i32x2, int32x2_t, int32x2_t, int32x2_t, 
__builtin_elementwise_min)
+__packed_binary_builtin(pminu_u8x8, uint8x8_t, uint8x8_t, uint8x8_t, 
__builtin_elementwise_min)
+__packed_binary_builtin(pminu_u16x4, uint16x4_t, uint16x4_t, uint16x4_t, 
__builtin_elementwise_min)
+__packed_binary_builtin(pminu_u32x2, uint32x2_t, uint32x2_t, uint32x2_t, 
__builtin_elementwise_min)
+__packed_binary_builtin(pmax_i8x8, int8x8_t, int8x8_t, int8x8_t, 
__builtin_elementwise_max)
+__packed_binary_builtin(pmax_i16x4, int16x4_t, int16x4_t, int16x4_t, 
__builtin_elementwise_max)
+__packed_binary_builtin(pmax_i32x2, int32x2_t, int32x2_t, int32x2_t, 
__builtin_elementwise_max)
+__packed_binary_builtin(pmaxu_u8x8, uint8x8_t, uint8x8_t, uint8x8_t, 
__builtin_elementwise_max)
+__packed_binary_builtin(pmaxu_u16x4, uint16x4_t, uint16x4_t, uint16x4_t, 
__builtin_elementwise_max)
+__packed_binary_builtin(pmaxu_u32x2, uint32x2_t, uint32x2_t, uint32x2_t, 
__builtin_elementwise_max)
 
 /* Packed Comparison (32-bit) */
 __packed_cmp(pmseq_i8x4_u8x4, int8x4_t, uint8x4_t, ==)
@@ -601,44 +596,44 @@ __packed_nziph2(pnziph_i16x4, int16x4_t, int32x2_t)
 __packed_nziph2(pnziph_u16x4, uint16x4_t, uint32x2_t)
 
 /* Packed Averaging Addition and Subtraction (32-bit) */
-__packed_binary_builtin(paadd_i8x4, int8x4_t, __builtin_riscv_paadd_i8x4)
-__packed_binary_builtin(paadd_i16x2, int16x2_t, __builtin_riscv_paadd_i16x2)
-__packed_binary_builtin(paaddu_u8x4, uint8x4_t, __builtin_riscv_paaddu_u8x4)
-__packed_binary_builtin(paaddu_u16x2, uint16x2_t, __builtin_riscv_paaddu_u16x2)
-__packed_binary_builtin(pasub_i8x4, int8x4_t, __builtin_riscv_pasub_i8x4)
-__packed_binary_builtin(pasub_i16x2, int16x2_t, __builtin_riscv_pasub_i16x2)
-__packed_binary_builtin(pasubu_u8x4, uint8x4_t, __builtin_riscv_pasubu_u8x4)
-__packed_binary_builtin(pasubu_u16x2, uint16x2_t, __builtin_riscv_pasubu_u16x2)
+__packed_binary_builtin(paadd_i8x4, int8x4_t, int8x4_t, int8x4_t, 
__builtin_riscv_paadd_i8x4)
+__packed_binary_builtin(paadd_i16x2, int16x2_t, int16x2_t, int16x2_t, 
__builtin_riscv_paadd_i16x2)
+__packed_binary_builtin(paaddu_u8x4, uint8x4_t, uint8x4_t, uint8x4_t, 
__builtin_riscv_paaddu_u8x4)
+__packed_binary_builtin(paaddu_u16x2, uint16x2_t, uint16x2_t, uint16x2_t, 
__builtin_riscv_paaddu_u16x2)
+__packed_binary_builtin(pasub_i8x4, int8x4_t, int8x4_t, int8x4_t, 
__builtin_riscv_pasub_i8x4)
+__packed_binary_builtin(pasub_i16x2, int16x2_t, int16x2_t, int16x2_t, 
__builtin_riscv_pasub_i16x2)
+__packed_binary_builtin(pasubu_u8x4, uint8x4_t, uint8x4_t, uint8x4_t, 
__builtin_riscv_pasubu_u8x4)
+__packed_binary_builtin(pasubu_u16x2, uint16x2_t, uint16x2_t, uint16x2_t, 
__builtin_riscv_pasubu_u16x2)
 
 /* Packed Averaging Addition and Subtraction (64-bit) */
-__packed_binary_builtin(paadd_i8x8, int8x8_t, __builtin_riscv_paadd_i8x8)
-__packed_binary_builtin(paadd_i16x4, int16x4_t, __builtin_riscv_paadd_i16x4)
-__packed_binary_builtin(paadd_i32x2, int32x2_t, __builtin_riscv_paadd_i32x2)
-__packed_binary_builtin(paaddu_u8x8, uint8x8_t, __builtin_riscv_paaddu_u8x8)
-__packed_binary_builtin(paaddu_u16x4, uint16x4_t, __builtin_riscv_paaddu_u16...
[truncated]

``````````

</details>


https://github.com/llvm/llvm-project/pull/211236
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to