re PR debug/66691 (ICE on valid code at -O3 with -g enabled in simplify_subreg, at...
[gcc.git] / gcc / config.gcc
index 0176ca2386dfa40e47b0516ed24308f3aa35205f..2b3af82be940dae3200681e629b3e4f1ca3b7326 100644 (file)
@@ -302,7 +302,7 @@ m32c*-*-*)
 aarch64*-*-*)
        cpu_type=aarch64
        extra_headers="arm_neon.h arm_acle.h"
-       extra_objs="aarch64-builtins.o aarch-common.o"
+       extra_objs="aarch64-builtins.o aarch-common.o cortex-a57-fma-steering.o"
        target_gtfiles="\$(srcdir)/config/aarch64/aarch64-builtins.c"
        target_has_targetm_common=yes
        ;;
@@ -340,6 +340,9 @@ crisv32-*)
 frv*)  cpu_type=frv
        extra_options="${extra_options} g.opt"
        ;;
+ft32*) cpu_type=ft32
+       target_has_targetm_common=no
+       ;;
 moxie*)        cpu_type=moxie
        target_has_targetm_common=no
        ;;
@@ -367,7 +370,7 @@ i[34567]86-*-*)
                       xsavesintrin.h avx512dqintrin.h avx512bwintrin.h
                       avx512vlintrin.h avx512vlbwintrin.h avx512vldqintrin.h
                       avx512ifmaintrin.h avx512ifmavlintrin.h avx512vbmiintrin.h
-                      avx512vbmivlintrin.h clwbintrin.h pcommitintrin.h"
+                      avx512vbmivlintrin.h clwbintrin.h pcommitintrin.h mwaitxintrin.h"
        ;;
 x86_64-*-*)
        cpu_type=i386
@@ -388,7 +391,7 @@ x86_64-*-*)
                       xsavesintrin.h avx512dqintrin.h avx512bwintrin.h
                       avx512vlintrin.h avx512vlbwintrin.h avx512vldqintrin.h
                       avx512ifmaintrin.h avx512ifmavlintrin.h avx512vbmiintrin.h
-                      avx512vbmivlintrin.h clwbintrin.h pcommitintrin.h"
+                      avx512vbmivlintrin.h clwbintrin.h pcommitintrin.h mwaitxintrin.h"
        ;;
 ia64-*-*)
        extra_headers=ia64intrin.h
@@ -454,7 +457,7 @@ spu*-*-*)
 s390*-*-*)
        cpu_type=s390
        extra_options="${extra_options} fused-madd.opt"
-       extra_headers="s390intrin.h htmintrin.h htmxlintrin.h"
+       extra_headers="s390intrin.h htmintrin.h htmxlintrin.h vecintrin.h"
        ;;
 # Note the 'l'; we need to be able to match e.g. "shle" or "shl".
 sh[123456789lbe]*-*-* | sh-*-*)
@@ -605,9 +608,12 @@ case ${target} in
   *-*-darwin9*)
     tm_file="${tm_file} darwin9.h"
     ;;
-  *-*-darwin[12][0-9]*)
+  *-*-darwin[1][01]*)
     tm_file="${tm_file} darwin9.h darwin10.h"
     ;;
+  *-*-darwin[1][2-9]* | *-*-darwin[2][0-9]*)
+    tm_file="${tm_file} darwin9.h darwin10.h darwin12.h"
+    ;;
   esac
   tm_file="${tm_file} ${cpu_type}/darwin.h"
   tm_p_file="${tm_p_file} darwin-protos.h"
@@ -1191,6 +1197,12 @@ frv-*-*linux*)
                 gnu-user.h linux.h glibc-stdint.h frv/linux.h"
        tmake_file="${tmake_file} frv/t-frv frv/t-linux"
        ;;
+ft32-*-elf)
+       gas=yes
+       gnu_ld=yes
+       tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
+       tmake_file="${tmake_file} ft32/t-ft32"
+       ;;
 moxie-*-elf)
        gas=yes
        gnu_ld=yes
@@ -1221,6 +1233,10 @@ h8300-*-elf*)
        tmake_file="h8300/t-h8300"
        tm_file="h8300/h8300.h dbxelf.h elfos.h newlib-stdint.h h8300/elf.h"
        ;;
+h8300-*-linux*)
+       tmake_file="${tmake_file} h8300/t-h8300 h8300/t-linux"
+       tm_file="h8300/h8300.h dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h h8300/linux.h"
+       ;;
 hppa*64*-*-linux*)
        target_cpu_default="MASK_PA_11|MASK_PA_20"
        tm_file="pa/pa64-start.h ${tm_file} dbxelf.h elfos.h gnu-user.h linux.h \
@@ -1373,6 +1389,9 @@ x86_64-*-darwin*)
        tmake_file="${tmake_file} ${cpu_type}/t-darwin64 t-slibgcc"
        tm_file="${tm_file} ${cpu_type}/darwin64.h"
        ;;
+i[34567]86-*-elfiamcu)
+       tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h newlib-stdint.h i386/iamcu.h"
+       ;;
 i[34567]86-*-elf*)
        tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h newlib-stdint.h i386/i386elf.h"
        ;;
@@ -1520,7 +1539,7 @@ x86_64-*-linux* | x86_64-*-kfreebsd*-gnu | x86_64-*-knetbsd*-gnu)
                tm_file="${tm_file} kfreebsd-gnu.h i386/kfreebsd-gnu64.h"
                ;;
        x86_64-*-knetbsd*-gnu)
-               tm_file="${tm_file} knetbsd-gnu.h"
+               tm_file="${tm_file} knetbsd-gnu.h i386/knetbsd-gnu64.h"
                ;;
        esac
        tmake_file="${tmake_file} i386/t-linux64"
@@ -2359,6 +2378,7 @@ powerpc*-*-linux*)
        maybe_biarch=${cpu_is_64bit}
        case ${enable_targets} in
            *powerpc64*) maybe_biarch=yes ;;
+           all) maybe_biarch=yes ;;
        esac
        case ${target} in
            powerpc64*-*-linux*spe* | powerpc64*-*-linux*paired*)
@@ -2522,27 +2542,35 @@ rx-*-elf*)
 s390-*-linux*)
        default_gnu_indirect_function=yes
        tm_file="s390/s390.h dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h s390/linux.h"
+       c_target_objs="${c_target_objs} s390-c.o"
+       cxx_target_objs="${cxx_target_objs} s390-c.o"
        if test x$enable_targets = xall; then
                tmake_file="${tmake_file} s390/t-linux64"
        fi
+       tmake_file="${tmake_file} s390/t-s390"
        ;;
 s390x-*-linux*)
        default_gnu_indirect_function=yes
        tm_file="s390/s390x.h s390/s390.h dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h s390/linux.h"
        tm_p_file="linux-protos.h s390/s390-protos.h"
+       c_target_objs="${c_target_objs} s390-c.o"
+       cxx_target_objs="${cxx_target_objs} s390-c.o"
        md_file=s390/s390.md
        extra_modes=s390/s390-modes.def
        out_file=s390/s390.c
-       tmake_file="${tmake_file} s390/t-linux64"
+       tmake_file="${tmake_file} s390/t-linux64 s390/t-s390"
        ;;
 s390x-ibm-tpf*)
-        tm_file="s390/s390x.h s390/s390.h dbxelf.h elfos.h s390/tpf.h"
-        tm_p_file=s390/s390-protos.h
-        md_file=s390/s390.md
-        extra_modes=s390/s390-modes.def
-        out_file=s390/s390.c
-        thread_file='tpf'
+       tm_file="s390/s390x.h s390/s390.h dbxelf.h elfos.h s390/tpf.h"
+       tm_p_file=s390/s390-protos.h
+       c_target_objs="${c_target_objs} s390-c.o"
+       cxx_target_objs="${cxx_target_objs} s390-c.o"
+       md_file=s390/s390.md
+       extra_modes=s390/s390-modes.def
+       out_file=s390/s390.c
+       thread_file='tpf'
        extra_options="${extra_options} s390/tpf.opt"
+       tmake_file="${tmake_file} s390/t-s390"
        ;;
 sh-*-elf* | sh[12346l]*-*-elf* | \
   sh-*-linux* | sh[2346lbe]*-*-linux* | \
@@ -4019,7 +4047,7 @@ case "${target}" in
                ;;
 
        powerpc*-*-* | rs6000-*-*)
-               supported_defaults="abi cpu cpu_32 cpu_64 float tune tune_32 tune_64"
+               supported_defaults="abi cpu cpu_32 cpu_64 float tune tune_32 tune_64 advance_toolchain"
 
                for which in cpu cpu_32 cpu_64 tune tune_32 tune_64; do
                        eval "val=\$with_$which"
@@ -4066,6 +4094,56 @@ case "${target}" in
                        exit 1
                        ;;
                esac
+
+               if test "x$with_advance_toolchain" != x; then
+                   if test -d "/opt/$with_advance_toolchain/." -a \
+                       -d "/opt/$with_advance_toolchain/bin/." -a \
+                       -d "/opt/$with_advance_toolchain/include/."; then
+
+                       tm_file="$tm_file ./advance-toolchain.h"
+                       (at="/opt/$with_advance_toolchain"
+                        echo "/* Use Advance Toolchain $at */"
+                        echo
+                        echo "#ifndef USE_AT_INCLUDE_FILES"
+                        echo "#define USE_AT_INCLUDE_FILES 1"
+                        echo "#endif"
+                        echo
+                        echo "#if USE_AT_INCLUDE_FILES"
+                        echo "#undef  INCLUDE_EXTRA_SPEC"
+                        echo "#define INCLUDE_EXTRA_SPEC" \
+                             "\"-isystem $at/include\""
+                        echo "#endif"
+                        echo
+                        echo "#undef  LINK_OS_EXTRA_SPEC32"
+                        echo "#define LINK_OS_EXTRA_SPEC32" \
+                             "\"%(link_os_new_dtags)" \
+                             "-rpath $prefix/lib -rpath $at/lib" \
+                             "-L $prefix/lib -L $at/lib\""
+                        echo
+                        echo "#undef  LINK_OS_EXTRA_SPEC64"
+                        echo "#define LINK_OS_EXTRA_SPEC64" \
+                             "\"%(link_os_new_dtags)" \
+                             "-rpath $prefix/lib64 -rpath $at/lib64" \
+                             "-L $prefix/lib64 -L $at/lib64\""
+                        echo
+                        echo "#undef  LINK_OS_NEW_DTAGS_SPEC"
+                        echo "#define LINK_OS_NEW_DTAGS_SPEC" \
+                             "\"--enable-new-dtags\""
+                        echo
+                        echo "#undef  DYNAMIC_LINKER_PREFIX"
+                        echo "#define DYNAMIC_LINKER_PREFIX \"$at\""
+                        echo
+                        echo "#undef  MD_EXEC_PREFIX"
+                        echo "#define MD_EXEC_PREFIX \"$at/bin/\""
+                        echo
+                        echo "#undef  MD_STARTFILE_PREFIX"
+                        echo "#define MD_STARTFILE_PREFIX \"$at/lib/\"") \
+                           > advance-toolchain.h
+                   else
+                       echo "Unknown advance-toolchain $with_advance_toolchain"
+                       exit 1
+                   fi
+               fi
                ;;
 
        s390*-*-*)
@@ -4074,7 +4152,7 @@ case "${target}" in
                for which in arch tune; do
                        eval "val=\$with_$which"
                        case ${val} in
-                       "" | g5 | g6 | z900 | z990 | z9-109 | z9-ec | z10 | z196 | zEC12)
+                       "" | native | g5 | g6 | z900 | z990 | z9-109 | z9-ec | z10 | z196 | zEC12 | z13)
                                # OK
                                ;;
                        *)