[clang] [Clang][Sema] Extend test coverage for SVE/SME builtin usage. (PR #156908)
Graham Hunter via cfe-commits
cfe-commits at lists.llvm.org
Mon Sep 8 07:27:15 PDT 2025
================
@@ -0,0 +1,539 @@
+#!/usr/bin/env python3
+"""
+Generate C test files that call ACLE builtins found in a JSON manifest.
+
+Expected JSON input format (array of objects):
+[
+ {
+ "guard": "sve,(sve2p1|sme)",
+ "streaming_guard": "sme",
+ "flags": "feature-dependent",
+ "builtin": "svint16_t svrevd_s16_z(svbool_t, svint16_t);"
+ },
+ ...
+]
+"""
+
+from __future__ import annotations
+
+import argparse
+import json
+import re
+import sys
+from collections import defaultdict
+from dataclasses import dataclass
+from enum import Enum
+from itertools import product
+from pathlib import Path
+from typing import Any, Dict, Iterable, List, Sequence, Tuple
+
+assert sys.version_info >= (3, 7), "Only Python 3.7+ is supported."
+
+
+# Are we testing arm_sve.h or arm_sme.h based builtins.
+class Mode(Enum):
+ SVE = "sve"
+ SME = "sme"
+
+
+class FunctionType(Enum):
+ NORMAL = "normal"
+ STREAMING = "streaming"
+ STREAMING_COMPATIBLE = "streaming-compatible"
+
+
+# Builtins are grouped by their required features.
+ at dataclass(frozen=True, order=True)
+class BuiltinContext:
+ guard: str
+ streaming_guard: str
+ flags: tuple[str, ...]
----------------
huntergr-arm wrote:
nit: Tuple
https://github.com/llvm/llvm-project/pull/156908
More information about the cfe-commits
mailing list