[PATCH] D117753: [AArch64] Support for memset tagged intrinsic

Dave Green via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Jan 27 07:03:38 PST 2022


dmgreen added inline comments.


================
Comment at: clang/lib/Headers/arm_acle.h:734
+/* Memory Operations Intrinsics */
+#if __ARM_FEATURE_MOPS && __ARM_FEATURE_MEMORY_TAGGING
+#define __arm_mops_memset_tag(tagged_address, value, size)                     \
----------------
SjoerdMeijer wrote:
> dmgreen wrote:
> > tyb0807 wrote:
> > > SjoerdMeijer wrote:
> > > > Why does this also need MTE? I think the ACLE specifies this intrinsic to be available when __ARM_FEATURE_MOPS is defined?
> > > Yes you are right, thanks for spotting this.
> > Hmm. These map to SETMG, and those instructions require MTE. It wouldn't make sense to have an intrinsic that cannot be emitted to a valid instruction. I think the spec might be wrong, to be honest.
> Ah yeah, thanks Dave.  These are the tag setting variants, I didn't look careful enough, then probably got confused about the ACLE which I agree must be wrong. Would be good to double check that first.
Yep - Apparently it is getting fixed in https://github.com/ARM-software/acle/pull/161 thanks to Lucas


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D117753/new/

https://reviews.llvm.org/D117753



More information about the llvm-commits mailing list