re PR target/79127 (Error: invalid register for .seh_savexmm in matmul_i4.c)
PR target/79127 * acinclude.m4 (LIBGFOR_CHECK_AVX512F): Ensure the test clobbers some zmm16+ registers to verify they are handled by unwind info properly if needed. * configure: Regenerated. From-SVN: r244636
This commit is contained in:
parent
0655c6d556
commit
9db0a8c2bf
3 changed files with 24 additions and 2 deletions
|
@ -1,3 +1,11 @@
|
|||
2017-01-19 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR target/79127
|
||||
* acinclude.m4 (LIBGFOR_CHECK_AVX512F): Ensure the test clobbers
|
||||
some zmm16+ registers to verify they are handled by unwind info
|
||||
properly if needed.
|
||||
* configure: Regenerated.
|
||||
|
||||
2017-01-17 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR other/79046
|
||||
|
|
|
@ -437,7 +437,14 @@ AC_DEFUN([LIBGFOR_CHECK_AVX512F], [
|
|||
typedef double __m512d __attribute__ ((__vector_size__ (64)));
|
||||
__m512d _mm512_add (__m512d a)
|
||||
{
|
||||
return __builtin_ia32_addpd512_mask (a, a, a, 1, 4);
|
||||
__m512d b = __builtin_ia32_addpd512_mask (a, a, a, 1, 4);
|
||||
/* For -m64/-mx32 also verify that code will work even if
|
||||
the target uses call saved zmm16+ and needs to emit
|
||||
unwind info for them (e.g. on mingw). See PR79127. */
|
||||
#ifdef __x86_64__
|
||||
asm volatile ("" : : : "zmm16", "zmm17", "zmm18", "zmm19");
|
||||
#endif
|
||||
return b;
|
||||
}]], [[]])],
|
||||
AC_DEFINE(HAVE_AVX512F, 1,
|
||||
[Define if AVX512f instructions can be compiled.]),
|
||||
|
|
9
libgfortran/configure
vendored
9
libgfortran/configure
vendored
|
@ -26300,7 +26300,14 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
|
|||
typedef double __m512d __attribute__ ((__vector_size__ (64)));
|
||||
__m512d _mm512_add (__m512d a)
|
||||
{
|
||||
return __builtin_ia32_addpd512_mask (a, a, a, 1, 4);
|
||||
__m512d b = __builtin_ia32_addpd512_mask (a, a, a, 1, 4);
|
||||
/* For -m64/-mx32 also verify that code will work even if
|
||||
the target uses call saved zmm16+ and needs to emit
|
||||
unwind info for them (e.g. on mingw). See PR79127. */
|
||||
#ifdef __x86_64__
|
||||
asm volatile ("" : : : "zmm16", "zmm17", "zmm18", "zmm19");
|
||||
#endif
|
||||
return b;
|
||||
}
|
||||
int
|
||||
main ()
|
||||
|
|
Loading…
Add table
Reference in a new issue