public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* [comitted] arm: partial revert of r11-8168 [PR100067]
@ 2021-04-19 16:02 Richard Earnshaw
  0 siblings, 0 replies; only message in thread
From: Richard Earnshaw @ 2021-04-19 16:02 UTC (permalink / raw)
  To: gcc-patches; +Cc: Richard Earnshaw

[-- Attachment #1: Type: text/plain, Size: 44 bytes --]

This is a multi-part message in MIME format.

[-- Attachment #2: Type: text/plain, Size: 790 bytes --]


From: Richard Earnshaw <rearnsha@arm.com>

This is a partial revert of r11-8168.  The overall purpose of the
commit is retained (to fix a bogus warning when -mfpu=<not-auto> is
used in combination with eg -mcpu=neoverse-v1), but it removes the
hunk that changed the subsequent feature bits for features of a
simd/fp unit that cannot be described by -mfpu.  While I still think
that is the correct direction of travel, it's somewhat disruptive and
not appropriate for late stage4.  I'll revisit for gcc-12.

gcc:
	PR target/100067
	* config/arm/arm.c (arm_configure_build_target): Do not strip
	extended FPU/SIMD feature bits from the target ISA when -mfpu
	is specified (partial revert of r11-8168).
---
 gcc/config/arm/arm.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #3: 0001-arm-partial-revert-of-r11-8168-PR100067.patch --]
[-- Type: text/x-patch; name="0001-arm-partial-revert-of-r11-8168-PR100067.patch", Size: 965 bytes --]

diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c
index 475fb0d827f..340f7c95d76 100644
--- a/gcc/config/arm/arm.c
+++ b/gcc/config/arm/arm.c
@@ -3396,9 +3396,11 @@ arm_configure_build_target (struct arm_build_target *target,
       auto_sbitmap fpu_bits (isa_num_bits);
 
       arm_initialize_isa (fpu_bits, arm_selected_fpu->isa_bits);
-      /* Clear out ALL bits relating to the FPU/simd extensions, to avoid
-	 potentially invalid combinations later on that we can't match.  */
-      bitmap_and_compl (target->isa, target->isa, isa_all_fpbits);
+      /* This should clear out ALL bits relating to the FPU/simd
+	 extensions, to avoid potentially invalid combinations later on
+	 that we can't match.  At present we only clear out those bits
+	 that can be set by -mfpu.  This should be fixed in GCC-12.  */
+      bitmap_and_compl (target->isa, target->isa, isa_all_fpubits_internal);
       bitmap_ior (target->isa, target->isa, fpu_bits);
     }
 

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2021-04-19 16:04 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-04-19 16:02 [comitted] arm: partial revert of r11-8168 [PR100067] Richard Earnshaw

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).