| @@ -229,6 +229,16 @@ $architecture = zarch if ($data =~ /ARCH_ZARCH/); | |||||
| $binformat = bin32; | $binformat = bin32; | ||||
| $binformat = bin64 if ($data =~ /BINARY_64/); | $binformat = bin64 if ($data =~ /BINARY_64/); | ||||
| if ($compiler eq "GCC" &&( ($architecture eq "x86") || ($architecture eq "x86_64"))) { | |||||
| $no_avx2 = 0; | |||||
| $no_fma = 0; | |||||
| $data = `$compiler_name -dumpversion`; | |||||
| if ($data <= 4.6) { | |||||
| $no_avx2 = 1; | |||||
| $no_fma = 1; | |||||
| } | |||||
| } | |||||
| $no_avx512= 0; | $no_avx512= 0; | ||||
| if (($architecture eq "x86") || ($architecture eq "x86_64")) { | if (($architecture eq "x86") || ($architecture eq "x86_64")) { | ||||
| eval "use File::Temp qw(tempfile)"; | eval "use File::Temp qw(tempfile)"; | ||||
| @@ -368,6 +378,8 @@ print MAKEFILE "CEXTRALIB=$linker_L $linker_l $linker_a\n"; | |||||
| print MAKEFILE "HAVE_MSA=1\n" if $have_msa eq 1; | print MAKEFILE "HAVE_MSA=1\n" if $have_msa eq 1; | ||||
| print MAKEFILE "MSA_FLAGS=$msa_flags\n" if $have_msa eq 1; | print MAKEFILE "MSA_FLAGS=$msa_flags\n" if $have_msa eq 1; | ||||
| print MAKEFILE "NO_AVX512=1\n" if $no_avx512 eq 1; | print MAKEFILE "NO_AVX512=1\n" if $no_avx512 eq 1; | ||||
| print MAKEFILE "NO_AVX2=1\n" if $no_avx2 eq 1; | |||||
| print MAKEFILE "NO_FMA=1\n" if $no_fma eq 1; | |||||
| $os =~ tr/[a-z]/[A-Z]/; | $os =~ tr/[a-z]/[A-Z]/; | ||||
| $architecture =~ tr/[a-z]/[A-Z]/; | $architecture =~ tr/[a-z]/[A-Z]/; | ||||