This adds the attributes associated with prefetch to the bultins.
Just call aarch64_get_attributes with FLAG_PREFETCH_MEMORY to get the 
attributes.

Built and tested for aarch64-linux-gnu.

gcc/ChangeLog:

        * config/aarch64/aarch64-builtins.cc (aarch64_init_prefetch_builtin):
        Updete call to aarch64_general_add_builtin in 
AARCH64_INIT_PREFETCH_BUILTIN.
        Add new variable prefetch_attrs.

Signed-off-by: Andrew Pinski <quic_apin...@quicinc.com>
---
 gcc/config/aarch64/aarch64-builtins.cc | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/gcc/config/aarch64/aarch64-builtins.cc 
b/gcc/config/aarch64/aarch64-builtins.cc
index 04ae16a0c76..9705f2de090 100644
--- a/gcc/config/aarch64/aarch64-builtins.cc
+++ b/gcc/config/aarch64/aarch64-builtins.cc
@@ -2024,10 +2024,12 @@ aarch64_init_prefetch_builtin (void)
 {
 #define AARCH64_INIT_PREFETCH_BUILTIN(INDEX, N)                                
\
   aarch64_builtin_decls[INDEX] =                                       \
-    aarch64_general_add_builtin ("__builtin_aarch64_" N, ftype, INDEX)
+    aarch64_general_add_builtin ("__builtin_aarch64_" N, ftype, INDEX,  \
+                                prefetch_attrs)
 
   tree ftype;
   tree cv_argtype;
+  tree prefetch_attrs = aarch64_get_attributes (FLAG_PREFETCH_MEMORY, DImode);
   cv_argtype = build_qualified_type (void_type_node, TYPE_QUAL_CONST
                                                     | TYPE_QUAL_VOLATILE);
   cv_argtype = build_pointer_type (cv_argtype);
-- 
2.43.0

Reply via email to