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