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,
prev parent 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).