jroelofs wrote: > I've tested this change locally, but wasn't sure how to write a test for it.
how about: ``` void check(uint64_t *a, uint64_t *b) { __builtin_arm_get_sme_state(a, b); } ``` with a couple of run lines for various platforms? if `a` and `b` were `unsigned long *` you'd get an error about the type mismatch on an LLP64 system like: ``` error: cannot initialize a parameter of type 'unsigned long long *' with an lvalue of type 'unsigned long *' ``` Likewise, if they were `unsigned long long *`, you'd get the error on an LP64 system. https://github.com/llvm/llvm-project/pull/95982 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits