On Apr 28, 2021, Uros Bizjak <ubiz...@gmail.com> wrote:

> On a related note, while looking at gcc/config.gcc, I noticed that
> there are two identical code blocks under ${target} i[34567]86-*-* and
> x86-64-*-*. As much as I have eyeballed the code, I can't find the
> difference, so perhaps these two blocks should have been merged?

They are equivalent indeed, despite a slight reordering of one
assignment that is of no significance.

Here's a patch that implements this change.  Regstrapped on
x86_64-linux-gnu.  Ok to install?


merge ix86- and x86_64-*-* in config.gcc

Uroz observed that i[34567]86-*-* and x86_64-*-* cpu_type-setting
target cases were equivalent.  I've verified that this was the case,
and combined them.


for  gcc/ChangeLog

        * config.gcc: Merged x86 and x86_64 cpu_type-setting cases.
---
 gcc/config.gcc |   40 +---------------------------------------
 1 file changed, 1 insertion(+), 39 deletions(-)

diff --git a/gcc/config.gcc b/gcc/config.gcc
index e49e40fbfa1bf..92fad8e20ca20 100644
--- a/gcc/config.gcc
+++ b/gcc/config.gcc
@@ -379,7 +379,7 @@ fido-*-*)
        extra_headers=math-68881.h
        extra_options="${extra_options} m68k/m68k-tables.opt"
         ;;
-i[34567]86-*-*)
+i[34567]86-*-* | x86_64-*-*)
        cpu_type=i386
        c_target_objs="i386-c.o"
        cxx_target_objs="i386-c.o"
@@ -417,44 +417,6 @@ i[34567]86-*-*)
                       hresetintrin.h keylockerintrin.h avxvnniintrin.h
                       mwaitintrin.h"
        ;;
-x86_64-*-*)
-       cpu_type=i386
-       c_target_objs="i386-c.o"
-       cxx_target_objs="i386-c.o"
-       d_target_objs="i386-d.o"
-       extra_options="${extra_options} fused-madd.opt"
-       extra_objs="x86-tune-sched.o x86-tune-sched-bd.o x86-tune-sched-atom.o 
x86-tune-sched-core.o i386-options.o i386-builtins.o i386-expand.o 
i386-features.o"
-       target_gtfiles="\$(srcdir)/config/i386/i386-builtins.c 
\$(srcdir)/config/i386/i386-expand.c \$(srcdir)/config/i386/i386-options.c"
-       extra_headers="cpuid.h mmintrin.h mm3dnow.h xmmintrin.h emmintrin.h
-                      pmmintrin.h tmmintrin.h ammintrin.h smmintrin.h
-                      nmmintrin.h bmmintrin.h fma4intrin.h wmmintrin.h
-                      immintrin.h x86intrin.h avxintrin.h xopintrin.h
-                      ia32intrin.h cross-stdarg.h lwpintrin.h popcntintrin.h
-                      lzcntintrin.h bmiintrin.h bmi2intrin.h tbmintrin.h
-                      avx2intrin.h avx512fintrin.h fmaintrin.h f16cintrin.h
-                      rtmintrin.h xtestintrin.h rdseedintrin.h prfchwintrin.h
-                      adxintrin.h fxsrintrin.h xsaveintrin.h xsaveoptintrin.h
-                      avx512cdintrin.h avx512erintrin.h avx512pfintrin.h
-                      shaintrin.h clflushoptintrin.h xsavecintrin.h
-                      xsavesintrin.h avx512dqintrin.h avx512bwintrin.h
-                      avx512vlintrin.h avx512vlbwintrin.h avx512vldqintrin.h
-                      avx512ifmaintrin.h avx512ifmavlintrin.h 
avx512vbmiintrin.h
-                      avx512vbmivlintrin.h avx5124fmapsintrin.h 
avx5124vnniwintrin.h
-                      avx512vpopcntdqintrin.h clwbintrin.h mwaitxintrin.h
-                      clzerointrin.h pkuintrin.h sgxintrin.h cetintrin.h
-                      gfniintrin.h cet.h avx512vbmi2intrin.h
-                      avx512vbmi2vlintrin.h avx512vnniintrin.h
-                      avx512vnnivlintrin.h vaesintrin.h vpclmulqdqintrin.h
-                      avx512vpopcntdqvlintrin.h avx512bitalgintrin.h
-                      pconfigintrin.h wbnoinvdintrin.h movdirintrin.h
-                      waitpkgintrin.h cldemoteintrin.h avx512bf16vlintrin.h
-                      avx512bf16intrin.h enqcmdintrin.h serializeintrin.h
-                      avx512vp2intersectintrin.h avx512vp2intersectvlintrin.h
-                      tsxldtrkintrin.h amxtileintrin.h amxint8intrin.h
-                      amxbf16intrin.h x86gprintrin.h uintrintrin.h
-                      hresetintrin.h keylockerintrin.h avxvnniintrin.h
-                      mwaitintrin.h"
-       ;;
 ia64-*-*)
        extra_headers=ia64intrin.h
        extra_options="${extra_options} g.opt fused-madd.opt"


-- 
Alexandre Oliva, happy hacker  https://FSFLA.org/blogs/lxo/
   Free Software Activist         GNU Toolchain Engineer
        Vim, Vi, Voltei pro Emacs -- GNUlius Caesar

Reply via email to