From: Karl Meakin <[email protected]>

The ACLE says that `vreinterpret` intrinsics are not streaming-compatible, but
they are all no-ops at runtime so should be streaming-compatible in practice.

gcc/ChangeLog:

        * config/aarch64/aarch64-neon-builtins-base.def (vreinterpret,
        vreinterpretq): Change `REQUIRED_EXTENSIONS` to
        `streaming_compatible (AARCH64_FL_SIMD)`.
---
 gcc/config/aarch64/aarch64-neon-builtins-base.def | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/gcc/config/aarch64/aarch64-neon-builtins-base.def 
b/gcc/config/aarch64/aarch64-neon-builtins-base.def
index 7257f59bbc56..41044f914740 100644
--- a/gcc/config/aarch64/aarch64-neon-builtins-base.def
+++ b/gcc/config/aarch64/aarch64-neon-builtins-base.def
@@ -18,7 +18,10 @@
    <http://www.gnu.org/licenses/>.  */
 
 // Reinterpret
-#define REQUIRED_EXTENSIONS nonstreaming_only (AARCH64_FL_SIMD)
+/* ACLE says that vreinterpret intrinsics are not streaming-compatible, but
+   they all are no-ops at runtime so should be streaming-compatible in
+   practice.  */
+#define REQUIRED_EXTENSIONS streaming_compatible (AARCH64_FL_SIMD)
 DEF_NEON_FUNCTION (vreinterpret,  neon_reinterpret,  ("D0,D1"))
 DEF_NEON_FUNCTION (vreinterpretq, neon_reinterpretq, ("Q0,Q1"))
 #undef REQUIRED_EXTENSIONS
-- 
2.54.0

Reply via email to