================
@@ -2476,3 +2476,11 @@ let SVETargetGuard = InvalidMode, SMETargetGuard = 
"sme2p2" in {
   def FMUL_X2 : SInst<"svmul[_{d}_x2]", "222", "hfd", MergeNone, 
"aarch64_sve_fmul_x2", [IsStreaming], []>;
   def FMUL_X4 : SInst<"svmul[_{d}_x4]", "444", "hfd", MergeNone, 
"aarch64_sve_fmul_x4", [IsStreaming], []>;
 }
+
+let SVETargetGuard = "sve2p3|sme2p3", SMETargetGuard = "sve2p3|sme2p3" in {
+  def SVDOT_X2_SH : SInst<"svdot[_{d}_{2}]", "ddhh", "s",  MergeNone, 
"aarch64_sve_sdot_x2", [VerifyRuntimeMode], []>;
----------------
CarolineConcatto wrote:

Sorry but I believe we forgot to add the _n version as well in the 
implementation, don't we?

 svfloat32_t svdot[_n_s16_s8](svint16_t zda, svint8_t zn, int8_t zm);
 svfloat32_t svdot[_n_u16_u8](svuint16_t zda, svuint8_t zn, uint8_t zm);
It looks like we also did not implemented them for 32 bits

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

Reply via email to