diff options
Diffstat (limited to 'gcc/configure')
| -rwxr-xr-x | gcc/configure | 266 |
1 files changed, 246 insertions, 20 deletions
diff --git a/gcc/configure b/gcc/configure index d939619..5ea5a1b 100755 --- a/gcc/configure +++ b/gcc/configure @@ -28757,22 +28757,241 @@ esac case "$target" in amdgcn-* | gcn-*) - { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler for assembler accepts -mattr=+sram-ecc for fiji" >&5 -$as_echo_n "checking assembler for assembler accepts -mattr=+sram-ecc for fiji... " >&6; } + # Test the LLVM assembler syntax dialect; they have made a number of + # changes between LLVM 12 & 13 without any backward compatibility. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler for assembler amdgcn_target v2/3 syntax" >&5 +$as_echo_n "checking assembler for assembler amdgcn_target v2/3 syntax... " >&6; } +if ${gcc_cv_as_gcn_asm_v3_syntax+:} false; then : + $as_echo_n "(cached) " >&6 +else + gcc_cv_as_gcn_asm_v3_syntax=no + if test x$gcc_cv_as != x; then + $as_echo '.amdgcn_target "amdgcn-unknown-amdhsa--gfx906+xnack"' > conftest.s + if { ac_try='$gcc_cv_as $gcc_cv_as_flags -triple=amdgcn--amdhsa -mcpu=gfx906 -mattr=+xnack -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_gcn_asm_v3_syntax=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_gcn_asm_v3_syntax" >&5 +$as_echo "$gcc_cv_as_gcn_asm_v3_syntax" >&6; } +if test $gcc_cv_as_gcn_asm_v3_syntax = yes; then + +$as_echo "#define HAVE_GCN_ASM_V3_SYNTAX 1" >>confdefs.h + +fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler for assembler amdgcn_target v4 syntax" >&5 +$as_echo_n "checking assembler for assembler amdgcn_target v4 syntax... " >&6; } +if ${gcc_cv_as_gcn_asm_v4_syntax+:} false; then : + $as_echo_n "(cached) " >&6 +else + gcc_cv_as_gcn_asm_v4_syntax=no + if test x$gcc_cv_as != x; then + $as_echo '.amdgcn_target "amdgcn-unknown-amdhsa--gfx908:xnack+"' > conftest.s + if { ac_try='$gcc_cv_as $gcc_cv_as_flags -triple=amdgcn--amdhsa -mcpu=gfx908 -mattr=+xnack -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_gcn_asm_v4_syntax=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_gcn_asm_v4_syntax" >&5 +$as_echo "$gcc_cv_as_gcn_asm_v4_syntax" >&6; } +if test $gcc_cv_as_gcn_asm_v4_syntax = yes; then + +$as_echo "#define HAVE_GCN_ASM_V4_SYNTAX 1" >>confdefs.h + +fi + + + # Some attribute names changed in the move to v4 ... + if test $gcc_cv_as_gcn_asm_v3_syntax = yes; then + sramopt="+sram-ecc" + sramattr="+sram-ecc" + xnackattr="+xnack" + elif test $gcc_cv_as_gcn_asm_v4_syntax = yes; then + sramopt="+sramecc" + sramattr=":sramecc+" + xnackattr=":xnack+" + else + as_fn_error $? "Unrecognised assembler version" "$LINENO" 5 + fi + + # Test whether the LLVM assembler accepts -mattr=+xnack without any + # diagnostic. LLVM 9 & 10 accept the option whether it makes sense or not, + # LLVM 12+ throws a warning for GPUs without support. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler for assembler accepts -mattr=+xnack for fiji" >&5 +$as_echo_n "checking assembler for assembler accepts -mattr=+xnack for fiji... " >&6; } +if ${gcc_cv_as_gcn_xnack_ecc_fiji+:} false; then : + $as_echo_n "(cached) " >&6 +else + gcc_cv_as_gcn_xnack_ecc_fiji=no + if test x$gcc_cv_as != x; then + $as_echo '' > conftest.s + if { ac_try='$gcc_cv_as $gcc_cv_as_flags -triple=amdgcn--amdhsa -mcpu=fiji -mattr=+xnack 2>conftest.err -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 + grep "." conftest.err >&5 \ + || gcc_cv_as_gcn_xnack_ecc_fiji=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_gcn_xnack_ecc_fiji" >&5 +$as_echo "$gcc_cv_as_gcn_xnack_ecc_fiji" >&6; } +if test $gcc_cv_as_gcn_xnack_ecc_fiji = yes; then + +$as_echo "#define HAVE_GCN_XNACK_FIJI 1" >>confdefs.h + +fi + + rm -f conftest.err + { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler for assembler accepts -mattr=+xnack for gfx900" >&5 +$as_echo_n "checking assembler for assembler accepts -mattr=+xnack for gfx900... " >&6; } +if ${gcc_cv_as_gcn_xnack_ecc_gfx900+:} false; then : + $as_echo_n "(cached) " >&6 +else + gcc_cv_as_gcn_xnack_ecc_gfx900=no + if test x$gcc_cv_as != x; then + $as_echo '' > conftest.s + if { ac_try='$gcc_cv_as $gcc_cv_as_flags -triple=amdgcn--amdhsa -mcpu=gfx900 -mattr=+xnack 2>conftest.err -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 + grep "." conftest.err >&5 \ + || gcc_cv_as_gcn_xnack_ecc_gfx900=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_gcn_xnack_ecc_gfx900" >&5 +$as_echo "$gcc_cv_as_gcn_xnack_ecc_gfx900" >&6; } +if test $gcc_cv_as_gcn_xnack_ecc_gfx900 = yes; then + +$as_echo "#define HAVE_GCN_XNACK_GFX900 1" >>confdefs.h + +fi + + rm -f conftest.err + { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler for assembler accepts -mattr=+xnack for gfx906" >&5 +$as_echo_n "checking assembler for assembler accepts -mattr=+xnack for gfx906... " >&6; } +if ${gcc_cv_as_gcn_xnack_ecc_gfx906+:} false; then : + $as_echo_n "(cached) " >&6 +else + gcc_cv_as_gcn_xnack_ecc_gfx906=no + if test x$gcc_cv_as != x; then + $as_echo '' > conftest.s + if { ac_try='$gcc_cv_as $gcc_cv_as_flags -triple=amdgcn--amdhsa -mcpu=gfx906 -mattr=+xnack 2>conftest.err -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 + grep "." conftest.err >&5 \ + || gcc_cv_as_gcn_xnack_ecc_gfx906=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_gcn_xnack_ecc_gfx906" >&5 +$as_echo "$gcc_cv_as_gcn_xnack_ecc_gfx906" >&6; } +if test $gcc_cv_as_gcn_xnack_ecc_gfx906 = yes; then + +$as_echo "#define HAVE_GCN_XNACK_GFX906 1" >>confdefs.h + +fi + + rm -f conftest.err + { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler for assembler accepts -mattr=+xnack for gfx908" >&5 +$as_echo_n "checking assembler for assembler accepts -mattr=+xnack for gfx908... " >&6; } +if ${gcc_cv_as_gcn_xnack_ecc_gfx908+:} false; then : + $as_echo_n "(cached) " >&6 +else + gcc_cv_as_gcn_xnack_ecc_gfx908=no + if test x$gcc_cv_as != x; then + $as_echo '' > conftest.s + if { ac_try='$gcc_cv_as $gcc_cv_as_flags -triple=amdgcn--amdhsa -mcpu=gfx908 -mattr=+xnack 2>conftest.err -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 + grep "." conftest.err >&5 \ + || gcc_cv_as_gcn_xnack_ecc_gfx908=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_gcn_xnack_ecc_gfx908" >&5 +$as_echo "$gcc_cv_as_gcn_xnack_ecc_gfx908" >&6; } +if test $gcc_cv_as_gcn_xnack_ecc_gfx908 = yes; then + +$as_echo "#define HAVE_GCN_XNACK_GFX908 1" >>confdefs.h + +fi + + rm -f conftest.err + + # Test whether the LLVM assembler accepts -mattr=+sramecc without any + # diagnostic. LLVM 9 & 10 accept the option whether it makes sense or not, + # (some?) LLVM 12 rejects it for all GPUs, and LLVM13 throws a warning + # for GPUs without support. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler for assembler accepts -mattr=$sramopt for fiji" >&5 +$as_echo_n "checking assembler for assembler accepts -mattr=$sramopt for fiji... " >&6; } if ${gcc_cv_as_gcn_sram_ecc_fiji+:} false; then : $as_echo_n "(cached) " >&6 else gcc_cv_as_gcn_sram_ecc_fiji=no if test x$gcc_cv_as != x; then - $as_echo '.amdgcn_target "amdgcn-unknown-amdhsa--gfx803+sram-ecc"' > conftest.s - if { ac_try='$gcc_cv_as $gcc_cv_as_flags -triple=amdgcn--amdhsa -mcpu=fiji -mattr=-xnack -mattr=+sram-ecc -o conftest.o conftest.s >&5' + $as_echo '' > conftest.s + if { ac_try='$gcc_cv_as $gcc_cv_as_flags -triple=amdgcn--amdhsa -mcpu=fiji -mattr=$sramopt 2>conftest.err -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_gcn_sram_ecc_fiji=yes + grep "." conftest.err >&5 \ + || gcc_cv_as_gcn_sram_ecc_fiji=yes else echo "configure: failed program was" >&5 cat conftest.s >&5 @@ -28788,22 +29007,24 @@ $as_echo "#define HAVE_GCN_SRAM_ECC_FIJI 1" >>confdefs.h fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler for assembler accepts -mattr=+sram-ecc for gfx900" >&5 -$as_echo_n "checking assembler for assembler accepts -mattr=+sram-ecc for gfx900... " >&6; } + rm -f conftest.err + { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler for assembler accepts -mattr=$sramopt for gfx900" >&5 +$as_echo_n "checking assembler for assembler accepts -mattr=$sramopt for gfx900... " >&6; } if ${gcc_cv_as_gcn_sram_ecc_gfx900+:} false; then : $as_echo_n "(cached) " >&6 else gcc_cv_as_gcn_sram_ecc_gfx900=no if test x$gcc_cv_as != x; then - $as_echo '.amdgcn_target "amdgcn-unknown-amdhsa--gfx900+sram-ecc"' > conftest.s - if { ac_try='$gcc_cv_as $gcc_cv_as_flags -triple=amdgcn--amdhsa -mcpu=gfx900 -mattr=-xnack -mattr=+sram-ecc -o conftest.o conftest.s >&5' + $as_echo '' > conftest.s + if { ac_try='$gcc_cv_as $gcc_cv_as_flags -triple=amdgcn--amdhsa -mcpu=gfx900 -mattr=$sramopt 2>conftest.err -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_gcn_sram_ecc_gfx900=yes + grep "." conftest.err >&5 \ + || gcc_cv_as_gcn_sram_ecc_gfx900=yes else echo "configure: failed program was" >&5 cat conftest.s >&5 @@ -28819,22 +29040,24 @@ $as_echo "#define HAVE_GCN_SRAM_ECC_GFX900 1" >>confdefs.h fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler for assembler accepts -mattr=+sram-ecc for gfx906" >&5 -$as_echo_n "checking assembler for assembler accepts -mattr=+sram-ecc for gfx906... " >&6; } + rm -f conftest.err + { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler for assembler accepts -mattr=$sramopt for gfx906" >&5 +$as_echo_n "checking assembler for assembler accepts -mattr=$sramopt for gfx906... " >&6; } if ${gcc_cv_as_gcn_sram_ecc_gfx906+:} false; then : $as_echo_n "(cached) " >&6 else gcc_cv_as_gcn_sram_ecc_gfx906=no if test x$gcc_cv_as != x; then - $as_echo '.amdgcn_target "amdgcn-unknown-amdhsa--gfx906+sram-ecc"' > conftest.s - if { ac_try='$gcc_cv_as $gcc_cv_as_flags -triple=amdgcn--amdhsa -mcpu=gfx906 -mattr=-xnack -mattr=+sram-ecc -o conftest.o conftest.s >&5' + $as_echo '' > conftest.s + if { ac_try='$gcc_cv_as $gcc_cv_as_flags -triple=amdgcn--amdhsa -mcpu=gfx906 -mattr=$sramopt 2>conftest.err -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_gcn_sram_ecc_gfx906=yes + grep "." conftest.err >&5 \ + || gcc_cv_as_gcn_sram_ecc_gfx906=yes else echo "configure: failed program was" >&5 cat conftest.s >&5 @@ -28850,22 +29073,24 @@ $as_echo "#define HAVE_GCN_SRAM_ECC_GFX906 1" >>confdefs.h fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler for assembler accepts -mattr=+sram-ecc for gfx908" >&5 -$as_echo_n "checking assembler for assembler accepts -mattr=+sram-ecc for gfx908... " >&6; } + rm -f conftest.err + { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler for assembler accepts -mattr=$sramopt for gfx908" >&5 +$as_echo_n "checking assembler for assembler accepts -mattr=$sramopt for gfx908... " >&6; } if ${gcc_cv_as_gcn_sram_ecc_gfx908+:} false; then : $as_echo_n "(cached) " >&6 else gcc_cv_as_gcn_sram_ecc_gfx908=no if test x$gcc_cv_as != x; then - $as_echo '.amdgcn_target "amdgcn-unknown-amdhsa--gfx908+sram-ecc"' > conftest.s - if { ac_try='$gcc_cv_as $gcc_cv_as_flags -triple=amdgcn--amdhsa -mcpu=gfx908 -mattr=-xnack -mattr=+sram-ecc -o conftest.o conftest.s >&5' + $as_echo '' > conftest.s + if { ac_try='$gcc_cv_as $gcc_cv_as_flags -triple=amdgcn--amdhsa -mcpu=gfx908 -mattr=$sramopt 2>conftest.err -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_gcn_sram_ecc_gfx908=yes + grep "." conftest.err >&5 \ + || gcc_cv_as_gcn_sram_ecc_gfx908=yes else echo "configure: failed program was" >&5 cat conftest.s >&5 @@ -28881,6 +29106,7 @@ $as_echo "#define HAVE_GCN_SRAM_ECC_GFX908 1" >>confdefs.h fi + rm -f conftest.err ;; arm*) { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler for assembler for arm accepts context-specific architecture extensions" >&5 |
