From: Karl Meakin <[email protected]>
The header `aarch64-sve-builtins.h` contains definitions that we will
want to use for the NEON builtins as well. To avoid confusion, rename it
to `acle` to avoid implying that it is only for the SVE builtins. Do the
same for the `aarch64_sve` namespace as well.
gcc/ChangeLog:
* config.gcc (target_gtfiles): Rename `aarch64-sve-builtins.h` to
`aarch64-acle-builtins.h`
and split the list over several lines for readability.
* config/aarch64/t-aarch64: Rename `aarch64-sve-builtins.h` to
`aarch64-acle-builtins.h`.
* config/aarch64/aarch64-sve-builtins.h: Move to...
* config/aarch64/aarch64-acle-builtins.h: ...here.
* config/aarch64/aarch64-c.cc (aarch64_pragma_aarch64): Rename
namespace `aarch64_sve` to
`aarch64_acle`.
(aarch64_resolve_overloaded_builtin): Likewise.
(aarch64_check_builtin_call): Likewise.
* config/aarch64/aarch64-protos.h: Likewise.
* config/aarch64/aarch64-sve-builtins-base.cc: Likewise.
* config/aarch64/aarch64-sve-builtins-base.h: Likewise.
* config/aarch64/aarch64-sve-builtins-functions.h: Likewise.
* config/aarch64/aarch64-sve-builtins-shapes.cc: Likewise.
* config/aarch64/aarch64-sve-builtins-shapes.h: Likewise.
* config/aarch64/aarch64-sve-builtins-sme.cc: Likewise.
* config/aarch64/aarch64-sve-builtins-sme.h: Likewise.
* config/aarch64/aarch64-sve-builtins-sve2.cc: Likewise.
* config/aarch64/aarch64-sve-builtins-sve2.h: Likewise.
* config/aarch64/aarch64-sve-builtins.cc (verify_type_context):
Likewise.
* config/aarch64/aarch64.cc: Likewise.
---
gcc/config.gcc | 29 +++++++++++++-
...sve-builtins.h => aarch64-acle-builtins.h} | 9 ++---
gcc/config/aarch64/aarch64-c.cc | 14 +++----
gcc/config/aarch64/aarch64-protos.h | 2 +-
.../aarch64/aarch64-sve-builtins-base.cc | 16 ++++----
.../aarch64/aarch64-sve-builtins-base.h | 2 +-
.../aarch64/aarch64-sve-builtins-functions.h | 2 +-
.../aarch64/aarch64-sve-builtins-shapes.cc | 4 +-
.../aarch64/aarch64-sve-builtins-shapes.h | 2 +-
.../aarch64/aarch64-sve-builtins-sme.cc | 8 ++--
gcc/config/aarch64/aarch64-sve-builtins-sme.h | 2 +-
.../aarch64/aarch64-sve-builtins-sve2.cc | 8 ++--
.../aarch64/aarch64-sve-builtins-sve2.h | 2 +-
gcc/config/aarch64/aarch64-sve-builtins.cc | 6 +--
gcc/config/aarch64/aarch64.cc | 40 +++++++++----------
gcc/config/aarch64/t-aarch64 | 10 ++---
16 files changed, 90 insertions(+), 66 deletions(-)
rename gcc/config/aarch64/{aarch64-sve-builtins.h => aarch64-acle-builtins.h}
(99%)
diff --git a/gcc/config.gcc b/gcc/config.gcc
index b1a1e955bda0..580a7fdee6b5 100644
--- a/gcc/config.gcc
+++ b/gcc/config.gcc
@@ -365,8 +365,33 @@ aarch64*-*-*)
c_target_objs="aarch64-c.o"
cxx_target_objs="aarch64-c.o"
d_target_objs="aarch64-d.o"
- extra_objs="aarch64-builtins.o aarch-common.o aarch64-elf-metadata.o
aarch64-sve-builtins.o aarch64-sve-builtins-shapes.o
aarch64-sve-builtins-base.o aarch64-sve-builtins-sve2.o
aarch64-sve-builtins-sme.o cortex-a57-fma-steering.o aarch64-speculation.o
aarch-bti-insert.o aarch64-early-ra.o aarch64-ldp-fusion.o
aarch64-sched-dispatch.o aarch64-json-tunings-printer.o
aarch64-json-tunings-parser.o aarch64-narrow-gp-writes.o"
- target_gtfiles="\$(srcdir)/config/aarch64/aarch64-protos.h
\$(srcdir)/config/aarch64/aarch64-builtins.h
\$(srcdir)/config/aarch64/aarch64-builtins.cc
\$(srcdir)/config/aarch64/aarch64-sve-builtins.h
\$(srcdir)/config/aarch64/aarch64-sve-builtins.cc"
+ extra_objs=(
+ 'aarch64-builtins.o'
+ 'aarch-common.o aarch64-elf-metadata.o'
+ 'aarch64-sve-builtins.o'
+ 'aarch64-sve-builtins-shapes.o'
+ 'aarch64-sve-builtins-base.o'
+ 'aarch64-sve-builtins-sve2.o'
+ 'aarch64-sve-builtins-sme.o'
+ 'cortex-a57-fma-steering.o'
+ 'aarch64-speculation.o'
+ 'aarch-bti-insert.o'
+ 'aarch64-early-ra.o'
+ 'aarch64-ldp-fusion.o'
+ 'aarch64-sched-dispatch.o'
+ 'aarch64-json-tunings-printer.o'
+ 'aarch64-json-tunings-parser.o'
+ 'aarch64-narrow-gp-writes.o'
+ )
+ extra_objs="${extra_objs[@]}"
+ target_gtfiles=(
+ '$(srcdir)/config/aarch64/aarch64-protos.h'
+ '$(srcdir)/config/aarch64/aarch64-builtins.h'
+ '$(srcdir)/config/aarch64/aarch64-builtins.cc'
+ '$(srcdir)/config/aarch64/aarch64-acle-builtins.h'
+ '$(srcdir)/config/aarch64/aarch64-sve-builtins.cc'
+ )
+ target_gtfiles="${target_gtfiles[@]}"
target_has_targetm_common=yes
;;
alpha*-*-*)
diff --git a/gcc/config/aarch64/aarch64-sve-builtins.h
b/gcc/config/aarch64/aarch64-acle-builtins.h
similarity index 99%
rename from gcc/config/aarch64/aarch64-sve-builtins.h
rename to gcc/config/aarch64/aarch64-acle-builtins.h
index f9e8c4cd7293..20152aaea6a2 100644
--- a/gcc/config/aarch64/aarch64-sve-builtins.h
+++ b/gcc/config/aarch64/aarch64-acle-builtins.h
@@ -1,4 +1,4 @@
-/* ACLE support for AArch64 SVE
+/* ACLE support for AArch64 NEON and SVE
Copyright (C) 2018-2026 Free Software Foundation, Inc.
This file is part of GCC.
@@ -17,8 +17,8 @@
along with GCC; see the file COPYING3. If not see
<http://www.gnu.org/licenses/>. */
-#ifndef GCC_AARCH64_SVE_BUILTINS_H
-#define GCC_AARCH64_SVE_BUILTINS_H
+#ifndef GCC_AARCH64_ACLE_BUILTINS_H
+#define GCC_AARCH64_ACLE_BUILTINS_H
#include "aarch64-builtins.h"
@@ -85,8 +85,7 @@
Note that we've specifically chosen not to fold calls in the frontend,
since SVE intrinsics will hardly ever fold a useful language-level
constant. */
-namespace aarch64_sve
-{
+namespace aarch64_acle {
/* The maximum number of vectors in an ACLE tuple type. */
const unsigned int MAX_TUPLE_SIZE = 4;
diff --git a/gcc/config/aarch64/aarch64-c.cc b/gcc/config/aarch64/aarch64-c.cc
index 8da9163bc32b..ef2475154e85 100644
--- a/gcc/config/aarch64/aarch64-c.cc
+++ b/gcc/config/aarch64/aarch64-c.cc
@@ -405,15 +405,15 @@ aarch64_pragma_aarch64 (cpp_reader *)
const char *name = TREE_STRING_POINTER (x);
if (strcmp (name, "arm_sve.h") == 0)
- aarch64_sve::handle_arm_sve_h (false);
+ aarch64_acle::handle_arm_sve_h (false);
else if (strcmp (name, "arm_sme.h") == 0)
- aarch64_sve::handle_arm_sme_h (false);
+ aarch64_acle::handle_arm_sme_h (false);
else if (strcmp (name, "arm_neon.h") == 0)
handle_arm_neon_h ();
else if (strcmp (name, "arm_acle.h") == 0)
handle_arm_acle_h ();
else if (strcmp (name, "arm_neon_sve_bridge.h") == 0)
- aarch64_sve::handle_arm_neon_sve_bridge_h (false);
+ aarch64_acle::handle_arm_neon_sve_bridge_h (false);
else
error ("unknown %<#pragma GCC aarch64%> option %qs", name);
}
@@ -437,8 +437,8 @@ aarch64_resolve_overloaded_builtin (location_t location,
uncast_arglist);
break;
case AARCH64_BUILTIN_SVE:
- new_fndecl = aarch64_sve::resolve_overloaded_builtin (location, subcode,
- arglist);
+ new_fndecl = aarch64_acle::resolve_overloaded_builtin (location, subcode,
+ arglist);
break;
}
if (new_fndecl == NULL_TREE || new_fndecl == error_mark_node)
@@ -461,8 +461,8 @@ aarch64_check_builtin_call (location_t loc, vec<location_t>
arg_loc,
return aarch64_general_check_builtin_call (loc, arg_loc, subcode,
orig_fndecl, nargs, args);
case AARCH64_BUILTIN_SVE:
- return aarch64_sve::check_builtin_call (loc, arg_loc, subcode,
- orig_fndecl, nargs, args);
+ return aarch64_acle::check_builtin_call (loc, arg_loc, subcode,
+ orig_fndecl, nargs, args);
}
gcc_unreachable ();
}
diff --git a/gcc/config/aarch64/aarch64-protos.h
b/gcc/config/aarch64/aarch64-protos.h
index 8d201821e934..b794cd7de664 100644
--- a/gcc/config/aarch64/aarch64-protos.h
+++ b/gcc/config/aarch64/aarch64-protos.h
@@ -1177,7 +1177,7 @@ namespace aarch64 {
void report_not_enum (location_t, tree, unsigned int, HOST_WIDE_INT, tree);
}
-namespace aarch64_sve {
+namespace aarch64_acle {
void init_builtins ();
void handle_arm_sve_h (bool);
void handle_arm_sme_h (bool);
diff --git a/gcc/config/aarch64/aarch64-sve-builtins-base.cc
b/gcc/config/aarch64/aarch64-sve-builtins-base.cc
index 9661a031fa01..951567229ba7 100644
--- a/gcc/config/aarch64/aarch64-sve-builtins-base.cc
+++ b/gcc/config/aarch64/aarch64-sve-builtins-base.cc
@@ -40,7 +40,7 @@
#include "tree-vector-builder.h"
#include "rtx-vector-builder.h"
#include "vec-perm-indices.h"
-#include "aarch64-sve-builtins.h"
+#include "aarch64-acle-builtins.h"
#include "aarch64-sve-builtins-shapes.h"
#include "aarch64-sve-builtins-base.h"
#include "aarch64-sve-builtins-functions.h"
@@ -49,7 +49,7 @@
#include "gimple-fold.h"
#include "tree-ssa.h"
-using namespace aarch64_sve;
+using namespace aarch64_acle;
namespace {
@@ -779,7 +779,7 @@ public:
{
machine_mode mode0 = e.result_mode ();
machine_mode mode1 = GET_MODE (e.args[0]);
- if (e.fpm_mode == aarch64_sve::FPM_set)
+ if (e.fpm_mode == aarch64_acle::FPM_set)
icode = code_for_aarch64_sme2_fp8_cvt (mode1);
else
{
@@ -957,7 +957,7 @@ public:
expand (function_expander &e) const override
{
insn_code icode;
- if (e.fpm_mode == aarch64_sve::FPM_set)
+ if (e.fpm_mode == aarch64_acle::FPM_set)
icode = code_for_aarch64_sve_dot (e.result_mode ());
else
{
@@ -991,7 +991,7 @@ public:
insn_code icode;
machine_mode mode0 = GET_MODE (e.args[0]);
machine_mode mode1 = GET_MODE (e.args[1]);
- if (e.fpm_mode == aarch64_sve::FPM_set)
+ if (e.fpm_mode == aarch64_acle::FPM_set)
{
icode = code_for_aarch64_sve_dot_lane (mode0);
}
@@ -2338,7 +2338,7 @@ public:
Unpredicated functions have only 2 arguments (rn, rm) so will cause the
code below to crash. Also skip if it does not operate on integers,
since all the optimizations below are for integer multiplication. */
- if (!f.type_suffix (0).integer_p || f.pred == aarch64_sve::PRED_none)
+ if (!f.type_suffix (0).integer_p || f.pred == aarch64_acle::PRED_none)
return nullptr;
if (auto *res = f.fold_const_binary (MULT_EXPR))
@@ -3516,7 +3516,7 @@ public:
} /* end anonymous namespace */
-namespace aarch64_sve {
+namespace aarch64_acle {
FUNCTION (svabd, svabd_impl,)
FUNCTION (svabs, quiet<rtx_code_function>, (ABS, ABS, UNSPEC_COND_FABS))
@@ -3818,4 +3818,4 @@ NEON_SVE_BRIDGE_FUNCTION (svget_neonq, svget_neonq_impl,)
NEON_SVE_BRIDGE_FUNCTION (svset_neonq, svset_neonq_impl,)
NEON_SVE_BRIDGE_FUNCTION (svdup_neonq, svdup_neonq_impl,)
-} /* end namespace aarch64_sve */
+}
diff --git a/gcc/config/aarch64/aarch64-sve-builtins-base.h
b/gcc/config/aarch64/aarch64-sve-builtins-base.h
index dc443524050e..17adc15dbb3f 100644
--- a/gcc/config/aarch64/aarch64-sve-builtins-base.h
+++ b/gcc/config/aarch64/aarch64-sve-builtins-base.h
@@ -20,7 +20,7 @@
#ifndef GCC_AARCH64_SVE_BUILTINS_BASE_H
#define GCC_AARCH64_SVE_BUILTINS_BASE_H
-namespace aarch64_sve
+namespace aarch64_acle
{
namespace functions
{
diff --git a/gcc/config/aarch64/aarch64-sve-builtins-functions.h
b/gcc/config/aarch64/aarch64-sve-builtins-functions.h
index df5e44a294fd..941b924c04d3 100644
--- a/gcc/config/aarch64/aarch64-sve-builtins-functions.h
+++ b/gcc/config/aarch64/aarch64-sve-builtins-functions.h
@@ -20,7 +20,7 @@
#ifndef GCC_AARCH64_SVE_BUILTINS_FUNCTIONS_H
#define GCC_AARCH64_SVE_BUILTINS_FUNCTIONS_H
-namespace aarch64_sve {
+namespace aarch64_acle {
/* Wrap T, which is derived from function_base, and indicate that the
function never has side effects. It is only necessary to use this
diff --git a/gcc/config/aarch64/aarch64-sve-builtins-shapes.cc
b/gcc/config/aarch64/aarch64-sve-builtins-shapes.cc
index 7d5376124e5b..5fb65dd8a319 100644
--- a/gcc/config/aarch64/aarch64-sve-builtins-shapes.cc
+++ b/gcc/config/aarch64/aarch64-sve-builtins-shapes.cc
@@ -31,7 +31,7 @@
#include "memmodel.h"
#include "insn-codes.h"
#include "optabs.h"
-#include "aarch64-sve-builtins.h"
+#include "aarch64-acle-builtins.h"
#include "aarch64-sve-builtins-shapes.h"
#include "aarch64-builtins.h"
@@ -48,7 +48,7 @@
but this does not affect the prototype, which is always
"svbool_t(svbool_t, svbool_t)". */
-namespace aarch64_sve {
+namespace aarch64_acle {
/* Return a representation of "const T *". */
static tree
diff --git a/gcc/config/aarch64/aarch64-sve-builtins-shapes.h
b/gcc/config/aarch64/aarch64-sve-builtins-shapes.h
index b2c927542a89..ce02b5a45ecc 100644
--- a/gcc/config/aarch64/aarch64-sve-builtins-shapes.h
+++ b/gcc/config/aarch64/aarch64-sve-builtins-shapes.h
@@ -20,7 +20,7 @@
#ifndef GCC_AARCH64_SVE_BUILTINS_SHAPES_H
#define GCC_AARCH64_SVE_BUILTINS_SHAPES_H
-namespace aarch64_sve
+namespace aarch64_acle
{
/* The naming convention is:
diff --git a/gcc/config/aarch64/aarch64-sve-builtins-sme.cc
b/gcc/config/aarch64/aarch64-sve-builtins-sme.cc
index 1b809492da45..9431feb7eeb5 100644
--- a/gcc/config/aarch64/aarch64-sve-builtins-sme.cc
+++ b/gcc/config/aarch64/aarch64-sve-builtins-sme.cc
@@ -37,13 +37,13 @@
#include "gimplify.h"
#include "explow.h"
#include "emit-rtl.h"
-#include "aarch64-sve-builtins.h"
+#include "aarch64-acle-builtins.h"
#include "aarch64-sve-builtins-shapes.h"
#include "aarch64-sve-builtins-base.h"
#include "aarch64-sve-builtins-sme.h"
#include "aarch64-sve-builtins-functions.h"
-using namespace aarch64_sve;
+using namespace aarch64_acle;
namespace {
@@ -609,7 +609,7 @@ public:
} /* end anonymous namespace */
-namespace aarch64_sve {
+namespace aarch64_acle {
FUNCTION (arm_has_sme, arm_has_sme_impl, )
FUNCTION (arm_in_streaming_mode, arm_in_streaming_mode_impl, )
@@ -700,4 +700,4 @@ FUNCTION (svzero_mask_za, svzero_mask_za_impl, )
FUNCTION (svzero_za, svzero_za_impl, )
FUNCTION (svzero_zt, svzero_zt_impl, )
-} /* end namespace aarch64_sve */
+}
diff --git a/gcc/config/aarch64/aarch64-sve-builtins-sme.h
b/gcc/config/aarch64/aarch64-sve-builtins-sme.h
index 26ccec14d72c..cc264ea84869 100644
--- a/gcc/config/aarch64/aarch64-sve-builtins-sme.h
+++ b/gcc/config/aarch64/aarch64-sve-builtins-sme.h
@@ -20,7 +20,7 @@
#ifndef GCC_AARCH64_SVE_BUILTINS_SME_H
#define GCC_AARCH64_SVE_BUILTINS_SME_H
-namespace aarch64_sve
+namespace aarch64_acle
{
namespace functions
{
diff --git a/gcc/config/aarch64/aarch64-sve-builtins-sve2.cc
b/gcc/config/aarch64/aarch64-sve-builtins-sve2.cc
index c4c8bae86b8e..0898de139ff7 100644
--- a/gcc/config/aarch64/aarch64-sve-builtins-sve2.cc
+++ b/gcc/config/aarch64/aarch64-sve-builtins-sve2.cc
@@ -40,13 +40,13 @@
#include "tree-vector-builder.h"
#include "rtx-vector-builder.h"
#include "vec-perm-indices.h"
-#include "aarch64-sve-builtins.h"
+#include "aarch64-acle-builtins.h"
#include "aarch64-sve-builtins-shapes.h"
#include "aarch64-sve-builtins-base.h"
#include "aarch64-sve-builtins-sve2.h"
#include "aarch64-sve-builtins-functions.h"
-using namespace aarch64_sve;
+using namespace aarch64_acle;
namespace {
@@ -972,7 +972,7 @@ public:
} /* end anonymous namespace */
-namespace aarch64_sve {
+namespace aarch64_acle {
FUNCTION (svaba, svaba_impl,)
FUNCTION (svabalb, unspec_based_add_function, (UNSPEC_SABDLB,
@@ -1264,4 +1264,4 @@ FUNCTION (svzipq2, svzipq_impl, (1))
FUNCTION (svluti2_lane, svluti_lane_impl, (2))
FUNCTION (svluti4_lane, svluti_lane_impl, (4))
-} /* end namespace aarch64_sve */
+}
diff --git a/gcc/config/aarch64/aarch64-sve-builtins-sve2.h
b/gcc/config/aarch64/aarch64-sve-builtins-sve2.h
index f191f47cbabf..ff7a27daae2c 100644
--- a/gcc/config/aarch64/aarch64-sve-builtins-sve2.h
+++ b/gcc/config/aarch64/aarch64-sve-builtins-sve2.h
@@ -20,7 +20,7 @@
#ifndef GCC_AARCH64_SVE_BUILTINS_SVE2_H
#define GCC_AARCH64_SVE_BUILTINS_SVE2_H
-namespace aarch64_sve
+namespace aarch64_acle
{
namespace functions
{
diff --git a/gcc/config/aarch64/aarch64-sve-builtins.cc
b/gcc/config/aarch64/aarch64-sve-builtins.cc
index d25e5437ba82..da96da69f273 100644
--- a/gcc/config/aarch64/aarch64-sve-builtins.cc
+++ b/gcc/config/aarch64/aarch64-sve-builtins.cc
@@ -49,7 +49,7 @@
#include "attribs.h"
#include "value-range.h"
#include "tree-ssanames.h"
-#include "aarch64-sve-builtins.h"
+#include "aarch64-acle-builtins.h"
#include "aarch64-sve-builtins-base.h"
#include "aarch64-sve-builtins-sve2.h"
#include "aarch64-sve-builtins-sme.h"
@@ -58,7 +58,7 @@
using namespace aarch64;
-namespace aarch64_sve {
+namespace aarch64_acle {
/* Static information about each single-predicate or single-vector
ABI and ACLE type. */
@@ -5328,7 +5328,7 @@ verify_type_context (location_t loc, type_context_kind
context,
}
-using namespace aarch64_sve;
+using namespace aarch64_acle;
inline void
gt_ggc_mx (function_instance *)
diff --git a/gcc/config/aarch64/aarch64.cc b/gcc/config/aarch64/aarch64.cc
index cd5ed154c7ac..a1e8ad49d869 100644
--- a/gcc/config/aarch64/aarch64.cc
+++ b/gcc/config/aarch64/aarch64.cc
@@ -924,7 +924,7 @@ static const attribute_spec aarch64_gnu_attributes[] =
aarch64_pcs_exclusions },
{ "indirect_return", 0, 0, false, true, true, true, NULL, NULL },
{ "arm_sve_vector_bits", 1, 1, false, true, false, true,
- aarch64_sve::handle_arm_sve_vector_bits_attribute,
+ aarch64_acle::handle_arm_sve_vector_bits_attribute,
NULL },
{ "Advanced SIMD type", 1, 1, false, true, false, true, NULL, NULL },
{ "SVE type", 3, 3, false, true, false, true, NULL, NULL
},
@@ -1145,7 +1145,7 @@ pure_scalable_type_info::analyze (const_tree type)
/* Check for SVTs, SPTs, and built-in tuple types that map to PSTs. */
piece p = {};
- if (aarch64_sve::builtin_type_p (type, &p.num_zr, &p.num_pr))
+ if (aarch64_acle::builtin_type_p (type, &p.num_zr, &p.num_pr))
{
machine_mode mode = TYPE_MODE_RAW (type);
gcc_assert (VECTOR_MODE_P (mode)
@@ -1319,7 +1319,7 @@ aarch64_some_values_include_pst_objects_p (const_tree
type)
if (TYPE_SIZE (type) && integer_zerop (TYPE_SIZE (type)))
return false;
- if (aarch64_sve::builtin_type_p (type))
+ if (aarch64_acle::builtin_type_p (type))
return true;
if (TREE_CODE (type) == ARRAY_TYPE || TREE_CODE (type) == COMPLEX_TYPE)
@@ -2758,8 +2758,8 @@ aarch64_call_switches_pstate_sm (aarch64_isa_mode
callee_mode)
static bool
aarch64_compatible_vector_types_p (const_tree type1, const_tree type2)
{
- return (aarch64_sve::builtin_type_p (type1)
- == aarch64_sve::builtin_type_p (type2));
+ return (aarch64_acle::builtin_type_p (type1)
+ == aarch64_acle::builtin_type_p (type2));
}
/* Return true if we should emit CFI for register REGNO. */
@@ -16810,7 +16810,7 @@ static void
aarch64_init_builtins ()
{
aarch64_general_init_builtins ();
- aarch64_sve::init_builtins ();
+ aarch64_acle::init_builtins ();
if (TARGET_AARCH64_MS_ABI)
{
aarch64_ms_variadic_abi_init_builtins ();
@@ -16854,7 +16854,7 @@ aarch64_gimple_fold_builtin (gimple_stmt_iterator *gsi)
break;
case AARCH64_BUILTIN_SVE:
- new_stmt = aarch64_sve::gimple_fold_builtin (subcode, gsi, stmt);
+ new_stmt = aarch64_acle::gimple_fold_builtin (subcode, gsi, stmt);
break;
}
@@ -16878,7 +16878,7 @@ aarch64_expand_builtin (tree exp, rtx target, rtx,
machine_mode, int ignore)
return aarch64_general_expand_builtin (subcode, exp, target, ignore);
case AARCH64_BUILTIN_SVE:
- return aarch64_sve::expand_builtin (subcode, exp, target);
+ return aarch64_acle::expand_builtin (subcode, exp, target);
}
gcc_unreachable ();
}
@@ -16894,7 +16894,7 @@ aarch64_builtin_decl (unsigned int code, bool
initialize_p)
return aarch64_general_builtin_decl (subcode, initialize_p);
case AARCH64_BUILTIN_SVE:
- return aarch64_sve::builtin_decl (subcode, initialize_p);
+ return aarch64_acle::builtin_decl (subcode, initialize_p);
}
gcc_unreachable ();
}
@@ -22982,7 +22982,7 @@ aarch64_member_type_forces_blk (const_tree
field_or_array, machine_mode mode)
For structures, the "multiple" case is indicated by MODE being
VOIDmode. */
unsigned int num_zr, num_pr;
- if (aarch64_sve::builtin_type_p (type, &num_zr, &num_pr) && num_pr > 2)
+ if (aarch64_acle::builtin_type_p (type, &num_zr, &num_pr) && num_pr > 2)
{
if (TREE_CODE (field_or_array) == ARRAY_TYPE)
return !simple_cst_equal (TYPE_SIZE (field_or_array),
@@ -23034,7 +23034,7 @@ aapcs_vfp_sub_candidate (const_tree type, machine_mode
*modep,
machine_mode mode;
HOST_WIDE_INT size;
- if (aarch64_sve::builtin_type_p (type))
+ if (aarch64_acle::builtin_type_p (type))
return -1;
switch (TREE_CODE (type))
@@ -23258,7 +23258,7 @@ aarch64_short_vector_p (const_tree type,
if (type && VECTOR_TYPE_P (type))
{
- if (aarch64_sve::builtin_type_p (type))
+ if (aarch64_acle::builtin_type_p (type))
return false;
size = int_size_in_bytes (type);
}
@@ -23754,7 +23754,7 @@ aarch64_mangle_type (const_tree type)
{
const char *res;
if ((res = aarch64_general_mangle_builtin_type (type))
- || (res = aarch64_sve::mangle_builtin_type (type)))
+ || (res = aarch64_acle::mangle_builtin_type (type)))
return res;
}
@@ -23791,7 +23791,7 @@ static bool
aarch64_verify_type_context (location_t loc, type_context_kind context,
const_tree type, bool silent_p)
{
- return aarch64_sve::verify_type_context (loc, context, type, silent_p);
+ return aarch64_acle::verify_type_context (loc, context, type, silent_p);
}
/* Find the first rtx_insn before insn that will generate an assembly
@@ -30971,7 +30971,7 @@ simd_clone_adjust_sve_vector_type (tree type, bool
is_mask, poly_uint64 simdlen)
However, it doesn't seem worth trying to fix that until we have a
way of handling implementations that operate on unpacked types. */
type = build_distinct_type_copy (type);
- aarch64_sve::add_sve_type_attribute (type, num_zr, num_pr, NULL, NULL);
+ aarch64_acle::add_sve_type_attribute (type, num_zr, num_pr, NULL, NULL);
return type;
}
@@ -31212,7 +31212,7 @@ aarch64_invalid_unary_op (int op, const_tree type)
{
if (VECTOR_BOOLEAN_TYPE_P (type)
&& !TYPE_INDIVISIBLE_P (type)
- && aarch64_sve::builtin_type_p (type))
+ && aarch64_acle::builtin_type_p (type))
return aarch64_valid_vector_boolean_op (op);
/* Reject all single-operand operations on __mfp8 except for &. */
@@ -31236,12 +31236,12 @@ aarch64_invalid_binary_op (int op, const_tree type1,
&& !TYPE_INDIVISIBLE_P (type1)
&& !TYPE_INDIVISIBLE_P (type2))
{
- if ((aarch64_sve::builtin_type_p (type1)
- != aarch64_sve::builtin_type_p (type2)))
+ if ((aarch64_acle::builtin_type_p (type1)
+ != aarch64_acle::builtin_type_p (type2)))
return N_("cannot combine GNU and SVE vectors in a binary operation");
- if (aarch64_sve::builtin_type_p (type1)
- && aarch64_sve::builtin_type_p (type2)
+ if (aarch64_acle::builtin_type_p (type1)
+ && aarch64_acle::builtin_type_p (type2)
&& VECTOR_BOOLEAN_TYPE_P (type1)
&& VECTOR_BOOLEAN_TYPE_P (type2))
return aarch64_valid_vector_boolean_op (op);
diff --git a/gcc/config/aarch64/t-aarch64 b/gcc/config/aarch64/t-aarch64
index ed622058f82d..1171d2023490 100644
--- a/gcc/config/aarch64/t-aarch64
+++ b/gcc/config/aarch64/t-aarch64
@@ -78,7 +78,7 @@ aarch64-sve-builtins.o:
$(srcdir)/config/aarch64/aarch64-sve-builtins.cc \
gimple-iterator.h gimplify.h explow.h $(EMIT_RTL_H) tree-vector-builder.h \
stor-layout.h alias.h gimple-fold.h langhooks.h \
stringpool.h \
- $(srcdir)/config/aarch64/aarch64-sve-builtins.h \
+ $(srcdir)/config/aarch64/aarch64-acle-builtins.h \
$(srcdir)/config/aarch64/aarch64-sve-builtins-shapes.h \
$(srcdir)/config/aarch64/aarch64-sve-builtins-base.h \
$(srcdir)/config/aarch64/aarch64-sve-builtins-sve2.h \
@@ -90,7 +90,7 @@ aarch64-sve-builtins-shapes.o: \
$(srcdir)/config/aarch64/aarch64-sve-builtins-shapes.cc \
$(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) $(RTL_H) \
$(TM_P_H) memmodel.h insn-codes.h $(OPTABS_H) \
- $(srcdir)/config/aarch64/aarch64-sve-builtins.h \
+ $(srcdir)/config/aarch64/aarch64-acle-builtins.h \
$(srcdir)/config/aarch64/aarch64-sve-builtins-shapes.h
$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
$(srcdir)/config/aarch64/aarch64-sve-builtins-shapes.cc
@@ -102,7 +102,7 @@ aarch64-sve-builtins-base.o: \
$(EXPR_H) $(BASIC_BLOCK_H) $(FUNCTION_H) fold-const.h $(GIMPLE_H) \
gimple-iterator.h gimplify.h explow.h $(EMIT_RTL_H) tree-vector-builder.h \
rtx-vector-builder.h vec-perm-indices.h \
- $(srcdir)/config/aarch64/aarch64-sve-builtins.h \
+ $(srcdir)/config/aarch64/aarch64-acle-builtins.h \
$(srcdir)/config/aarch64/aarch64-sve-builtins-shapes.h \
$(srcdir)/config/aarch64/aarch64-sve-builtins-base.h \
$(srcdir)/config/aarch64/aarch64-sve-builtins-functions.h
@@ -116,7 +116,7 @@ aarch64-sve-builtins-sve2.o: \
$(EXPR_H) $(BASIC_BLOCK_H) $(FUNCTION_H) fold-const.h $(GIMPLE_H) \
gimple-iterator.h gimplify.h explow.h $(EMIT_RTL_H) tree-vector-builder.h \
rtx-vector-builder.h vec-perm-indices.h \
- $(srcdir)/config/aarch64/aarch64-sve-builtins.h \
+ $(srcdir)/config/aarch64/aarch64-acle-builtins.h \
$(srcdir)/config/aarch64/aarch64-sve-builtins-shapes.h \
$(srcdir)/config/aarch64/aarch64-sve-builtins-sve2.h \
$(srcdir)/config/aarch64/aarch64-sve-builtins-functions.h
@@ -129,7 +129,7 @@ aarch64-sve-builtins-sme.o: \
$(TM_P_H) memmodel.h insn-codes.h $(OPTABS_H) $(RECOG_H) \
$(EXPR_H) $(BASIC_BLOCK_H) $(FUNCTION_H) fold-const.h $(GIMPLE_H) \
gimple-iterator.h gimplify.h explow.h $(EMIT_RTL_H) \
- $(srcdir)/config/aarch64/aarch64-sve-builtins.h \
+ $(srcdir)/config/aarch64/aarch64-acle-builtins.h \
$(srcdir)/config/aarch64/aarch64-sve-builtins-shapes.h \
$(srcdir)/config/aarch64/aarch64-sve-builtins-sme.h \
$(srcdir)/config/aarch64/aarch64-sve-builtins-functions.h
--
2.54.0