diff options
author | jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4> | 2017-01-19 15:41:15 +0000 |
---|---|---|
committer | jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4> | 2017-01-19 15:41:15 +0000 |
commit | d6c831fb02edf685d688511de4d6c8084e490d66 (patch) | |
tree | 4bae35124712f9ca92f86fa84595ae73858cd929 /libgfortran/configure | |
parent | 46fd36c9240ff9d05c93734cf5aa3ffae8f7f566 (diff) | |
download | gcc-d6c831fb02edf685d688511de4d6c8084e490d66.tar.gz |
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@244636 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libgfortran/configure')
-rwxr-xr-x | libgfortran/configure | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/libgfortran/configure b/libgfortran/configure index f975e2abc50..20b5e681712 100755 --- a/libgfortran/configure +++ b/libgfortran/configure @@ -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 () |