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:
Jakub Jelinek 2017-01-19 16:41:15 +01:00 committed by Jakub Jelinek
parent 0655c6d556
commit 9db0a8c2bf
3 changed files with 24 additions and 2 deletions

View file

@ -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

View file

@ -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.]),

View file

@ -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 ()