On Apr 28, 2021, Uros Bizjak <[email protected]> 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