The anchors have been disabled as they use symbol + offset, which is
not applicable for COFF AArch64.

gcc/ChangeLog:

        * config/aarch64/aarch64.cc (TARGET_MIN_ANCHOR_OFFSET):
        Keep default TARGET_MAX_ANCHOR_OFFSET for PECOFF target.
        (TARGET_MAX_ANCHOR_OFFSET): Likewise.
---
 gcc/config/aarch64/aarch64.cc | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/gcc/config/aarch64/aarch64.cc b/gcc/config/aarch64/aarch64.cc
index 1d88814f28d..eea9ac02df0 100644
--- a/gcc/config/aarch64/aarch64.cc
+++ b/gcc/config/aarch64/aarch64.cc
@@ -30961,11 +30961,13 @@ aarch64_libgcc_floating_mode_supported_p
 #undef TARGET_MIN_ANCHOR_OFFSET
 #define TARGET_MIN_ANCHOR_OFFSET -256
 
+#if !TARGET_PECOFF
 /* Limit the maximum anchor offset to 4k-1, since that's the limit for a
    byte offset; we can do much more for larger data types, but have no way
    to determine the size of the access.  We assume accesses are aligned.  */
 #undef TARGET_MAX_ANCHOR_OFFSET
 #define TARGET_MAX_ANCHOR_OFFSET 4095
+#endif
 
 #undef TARGET_VECTORIZE_PREFERRED_DIV_AS_SHIFTS_OVER_MULT
 #define TARGET_VECTORIZE_PREFERRED_DIV_AS_SHIFTS_OVER_MULT \
-- 
2.34.1

Reply via email to