public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
From: Andrew Stubbs <ams@codesourcery.com>
To: Thomas Schwinge <thomas@codesourcery.com>
Cc: <gcc-patches@gcc.gnu.org>, Richard Earnshaw <rearnsha@arm.com>
Subject: Re: [committed] amdgcn: Remove LLVM 9 assembler/linker support
Date: Mon, 6 Jun 2022 17:02:08 +0100	[thread overview]
Message-ID: <21f2b02e-7549-3e5a-773a-78a68f276c40@codesourcery.com> (raw)
In-Reply-To: <87mtf2rdkp.fsf@euler.schwinge.homeip.net>

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

On 27/05/2022 20:16, Thomas Schwinge wrote:
> Hi Andrew!
> 
> On 2022-05-24T16:27:52+0100, Andrew Stubbs <ams@codesourcery.com> wrote:
>> I've committed this patch to set the minimum required LLVM version, for
>> the assembler and linker, to 13.0.1. An upgrade from LLVM 9 is a
>> prerequisite for the gfx90a support, and 13.0.1 is now the oldest
>> version not known to have compatibility issues.
>>
>> The patch removes all the obsolete feature detection tests from
>> configure and adds a new version test. Likewise the version dependencies
>> in the backend are removed.
> 
> I've not otherwise reviewed your
> commit r13-742-g8086230e7ac619c0b0eeb6e15df7975ac214725f
> "amdgcn: Remove LLVM 9 assembler/linker support", but happened to notice
> that your commit also removed the ARM-target 'HAVE_GAS_ARM_EXTENDED_ARCH'
> -- is that intentional; I suppose not?  That had been added by Richard
> Earnshaw in commit r12-3725-g4e7a92c0ff3871d955ca8fb133f869b216d7224d
> "arm: pass architecture extensions to assembler if supported".

Ooops, this was not intentional. I've just committed the attached to 
reinstate it.

Richard, please confirm that it works as intended.

The problem was that the ARM test was inserted into a case statement 
that I created solely for the use of amdgcn. When I then removed that 
block of code I didn't notice the additional, unrelated code hiding in 
there.

Apologies for the inconvenience.

Andrew

[-- Attachment #2: 220606-reinstate-arm-config-test.patch --]
[-- Type: text/plain, Size: 3941 bytes --]

arm: reinstate HAVE_GAS_ARM_EXTENDED_ARCH

The check was removed by accident.

gcc/ChangeLog:

	* config.in: Regenerate.
	* configure: Regenerate.
	* configure.ac: Reinstate HAVE_GAS_ARM_EXTENDED_ARCH test.

diff --git a/gcc/config.in b/gcc/config.in
index 6a4f8856c4f..16bb963b45b 100644
--- a/gcc/config.in
+++ b/gcc/config.in
@@ -1331,6 +1331,13 @@
 #endif
 
 
+/* Define if your Arm assembler permits context-specific feature extensions.
+   */
+#ifndef USED_FOR_TARGET
+#undef HAVE_GAS_ARM_EXTENDED_ARCH
+#endif
+
+
 /* Define if your assembler supports .balign and .p2align. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_GAS_BALIGN_AND_P2ALIGN
diff --git a/gcc/configure b/gcc/configure
index 095065ed01a..a52574d02b5 100755
--- a/gcc/configure
+++ b/gcc/configure
@@ -731,10 +731,10 @@ gcc_cv_dsymutil
 gcc_cv_otool
 gcc_cv_readelf
 gcc_cv_objdump
-ORIGINAL_NM_FOR_TARGET
-gcc_cv_nm
 ORIGINAL_OBJCOPY_FOR_TARGET
 gcc_cv_objcopy
+ORIGINAL_NM_FOR_TARGET
+gcc_cv_nm
 ORIGINAL_LD_GOLD_FOR_TARGET
 ORIGINAL_LD_BFD_FOR_TARGET
 ORIGINAL_LD_FOR_TARGET
@@ -19676,7 +19676,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 19676 "configure"
+#line 19679 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -19782,7 +19782,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 19782 "configure"
+#line 19785 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -29118,6 +29118,44 @@ $as_echo "$gcc_cv_as_version, ok" >&6; }
     ;;
 esac
 
+case "$target" in
+  arm*)
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler for assembler for arm accepts context-specific architecture extensions" >&5
+$as_echo_n "checking assembler for assembler for arm accepts context-specific architecture extensions... " >&6; }
+if ${gcc_cv_as_arm_option_extensions+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  gcc_cv_as_arm_option_extensions=no
+  if test x$gcc_cv_as != x; then
+    $as_echo '.text
+	.thumb
+	.syntax unified
+	vmov.f32 s0, s1' > conftest.s
+    if { ac_try='$gcc_cv_as $gcc_cv_as_flags -march=armv8.1-m.main+mve -o conftest.o conftest.s >&5'
+  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; }
+    then
+	gcc_cv_as_arm_option_extensions=yes
+    else
+      echo "configure: failed program was" >&5
+      cat conftest.s >&5
+    fi
+    rm -f conftest.o conftest.s
+  fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_cv_as_arm_option_extensions" >&5
+$as_echo "$gcc_cv_as_arm_option_extensions" >&6; }
+if test $gcc_cv_as_arm_option_extensions = yes; then
+
+$as_echo "#define HAVE_GAS_ARM_EXTENDED_ARCH 1" >>confdefs.h
+
+fi
+
+esac
+
 # ??? Not all targets support dwarf2 debug_line, even within a version
 # of gas.  Moreover, we need to emit a valid instruction to trigger any
 # info to the output file.  So, as supported targets are added to gas 2.11,
diff --git a/gcc/configure.ac b/gcc/configure.ac
index e098b905622..5fe826aa4eb 100644
--- a/gcc/configure.ac
+++ b/gcc/configure.ac
@@ -5427,6 +5427,19 @@ case "$target" in
     ;;
 esac
 
+case "$target" in
+  arm*)
+    gcc_GAS_CHECK_FEATURE([assembler for arm accepts context-specific architecture extensions],
+      gcc_cv_as_arm_option_extensions,
+      [-march=armv8.1-m.main+mve],
+      [.text
+	.thumb
+	.syntax unified
+	vmov.f32 s0, s1],,
+      [AC_DEFINE(HAVE_GAS_ARM_EXTENDED_ARCH, 1,
+       [Define if your Arm assembler permits context-specific feature extensions.])])
+esac
+
 # ??? Not all targets support dwarf2 debug_line, even within a version
 # of gas.  Moreover, we need to emit a valid instruction to trigger any
 # info to the output file.  So, as supported targets are added to gas 2.11,

      reply	other threads:[~2022-06-06 16:02 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-05-24 15:27 Andrew Stubbs
2022-05-27 19:16 ` Thomas Schwinge
2022-06-06 16:02   ` Andrew Stubbs [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=21f2b02e-7549-3e5a-773a-78a68f276c40@codesourcery.com \
    --to=ams@codesourcery.com \
    --cc=gcc-patches@gcc.gnu.org \
    --cc=rearnsha@arm.com \
    --cc=thomas@codesourcery.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).