| @@ -201,6 +201,21 @@ $architecture = zarch if ($data =~ /ARCH_ZARCH/); | |||||
| $binformat = bin32; | $binformat = bin32; | ||||
| $binformat = bin64 if ($data =~ /BINARY_64/); | $binformat = bin64 if ($data =~ /BINARY_64/); | ||||
| $no_avx512= 0; | |||||
| if (($architecture eq "x86") || ($architecture eq "x86_64")) { | |||||
| $code = '"vaddps %zmm1, %zmm0, %zmm0"'; | |||||
| print $tmpf "void main(void){ __asm__ volatile($code); }\n"; | |||||
| $args = " -o $tmpf.o -x c $tmpf"; | |||||
| my @cmd = ("$compiler_name $args"); | |||||
| system(@cmd) == 0; | |||||
| if ($? != 0) { | |||||
| $no_avx512 = 1; | |||||
| } else { | |||||
| $no_avx512 = 0; | |||||
| } | |||||
| unlink("tmpf.o"); | |||||
| } | |||||
| $data = `$compiler_name -S ctest1.c && grep globl ctest1.s | head -n 1 && rm -f ctest1.s`; | $data = `$compiler_name -S ctest1.c && grep globl ctest1.s | head -n 1 && rm -f ctest1.s`; | ||||
| $data =~ /globl\s([_\.]*)(.*)/; | $data =~ /globl\s([_\.]*)(.*)/; | ||||
| @@ -288,6 +303,7 @@ print MAKEFILE "CROSS=1\n" if $cross != 0; | |||||
| print MAKEFILE "CEXTRALIB=$linker_L $linker_l $linker_a\n"; | 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; | |||||
| $os =~ tr/[a-z]/[A-Z]/; | $os =~ tr/[a-z]/[A-Z]/; | ||||
| $architecture =~ tr/[a-z]/[A-Z]/; | $architecture =~ tr/[a-z]/[A-Z]/; | ||||