[llvm] [clang] [AArch64] Assembly support for the Checked Pointer Arithmetic Extension (PR #73777)

via cfe-commits cfe-commits at lists.llvm.org
Thu Nov 30 02:16:50 PST 2023


================
@@ -4163,3 +4163,24 @@ let Predicates = [HasSVE2orSME2, HasLUT] in {
 // LUTI4 (two contiguous registers)
   defm LUTI4_Z2ZZI  : sve2_luti4_vector_vg2_index<"luti4">;
 } // End HasSVE2orSME2, HasLUT
+
+//===----------------------------------------------------------------------===//
+// Checked Pointer Arithmetic (FEAT_CPA)
+//===----------------------------------------------------------------------===//
+let Predicates = [HasSVEorSME, HasCPA] in {
----------------
CarolineConcatto wrote:

I believe that FEAT_CPA is only [HasSVE, HasCPA] .
At least that is what I see here:
https://developer.arm.com/documentation/ddi0602/2023-09/SVE-Instructions/ADDPT--predicated---Add-checked-pointer-vectors--predicated--?lang=en
if !IsFeatureImplemented(FEAT_SVE) || !IsFeatureImplemented(FEAT_CPA) then
    UNDEFINED;
And in bellow I see :
[CheckNonStreamingSVEEnabled](https://developer.arm.com/documentation/ddi0602/2023-09/Shared-Pseudocode/aarch64-functions-sve?lang=en#impl-aarch64.CheckNonStreamingSVEEnabled.0)();
I believe it means that these instructions are not available in streaming mode.

https://github.com/llvm/llvm-project/pull/73777


More information about the cfe-commits mailing list