[PATCH] D69250: [ARM][AArch64] Implement __cls and __clsl intrinsics from ACLE

Saleem Abdulrasool via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Mon Oct 21 11:42:59 PDT 2019


compnerd added inline comments.


================
Comment at: clang/lib/Headers/arm_acle.h:150
+__clsl(unsigned long __t) {
+#if __SIZEOF_LONG__ == 4
+  return __builtin_arm_cls(__t);
----------------
I don't see a pattern match for the `cls64` on ARM32, would that not fail to lower?


================
Comment at: clang/lib/Headers/arm_acle.h:155
+#endif
+}
+
----------------
Should we have a `__clsll` extension, otherwise these two are the same in LLP64?  I'm thinking about the LLP64 environments, where `long` and `long long` are different (32-bit vs 64-bit).


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D69250





More information about the cfe-commits mailing list