* gcc.target/i386/avx2-gather-1.c: Add -march.
* gcc.target/i386/avx2-gather-2.c: Add -march.
* gcc.target/i386/avx2-gather-3.c: Add -march.
* gcc.target/i386/avx2-gather-4.c: Add -march.
* gcc.target/i386/avx2-gather-5.c: Add -march.
* gcc.target/i386/avx2-gather-6.c: Add -march.
* gcc.target/i386/avx512f-gather-1.c: Add -march.
* gcc.target/i386/avx512f-gather-2.c: Add -march.
* gcc.target/i386/avx512f-gather-3.c: Add -march.
* gcc.target/i386/avx512f-gather-4.c: Add -march.
* gcc.target/i386/avx512f-gather-5.c: Add -march.
* gcc.target/i386/avx512f-i32gatherd512-1.c: Add -march.
* gcc.target/i386/avx512f-i32gatherd512-2.c: Add -march.
* gcc.target/i386/avx512f-i32gatherpd512-1.c: Add -march.
* gcc.target/i386/avx512f-i32gatherpd512-2.c: Add -march.
* gcc.target/i386/avx512f-i32gatherps512-1.c: Add -march.
From-SVN: r256423
+2018-01-09 Jan Hubicka <hubicka@ucw.cz>
+
+ * gcc.target/i386/avx2-gather-1.c: Add -march.
+ * gcc.target/i386/avx2-gather-2.c: Add -march.
+ * gcc.target/i386/avx2-gather-3.c: Add -march.
+ * gcc.target/i386/avx2-gather-4.c: Add -march.
+ * gcc.target/i386/avx2-gather-5.c: Add -march.
+ * gcc.target/i386/avx2-gather-6.c: Add -march.
+ * gcc.target/i386/avx512f-gather-1.c: Add -march.
+ * gcc.target/i386/avx512f-gather-2.c: Add -march.
+ * gcc.target/i386/avx512f-gather-3.c: Add -march.
+ * gcc.target/i386/avx512f-gather-4.c: Add -march.
+ * gcc.target/i386/avx512f-gather-5.c: Add -march.
+ * gcc.target/i386/avx512f-i32gatherd512-1.c: Add -march.
+ * gcc.target/i386/avx512f-i32gatherd512-2.c: Add -march.
+ * gcc.target/i386/avx512f-i32gatherpd512-1.c: Add -march.
+ * gcc.target/i386/avx512f-i32gatherpd512-2.c: Add -march.
+ * gcc.target/i386/avx512f-i32gatherps512-1.c: Add -march.
+
2018-01-09 H.J. Lu <hongjiu.lu@intel.com>
PR target/78585:
/* { dg-do run } */
/* { dg-require-effective-target avx2 } */
-/* { dg-options "-O3 -mavx2" } */
+/* { dg-options "-O3 -mavx2 -mtune=skylake" } */
#include "avx2-check.h"
/* { dg-do compile } */
-/* { dg-options "-O3 -mavx2 -fdump-tree-vect-details" } */
+/* { dg-options "-O3 -mavx2 -fdump-tree-vect-details -mtune=skylake" } */
#include "avx2-gather-1.c"
/* { dg-do run } */
/* { dg-require-effective-target avx2 } */
-/* { dg-options "-O3 -mavx2 -ffast-math" } */
+/* { dg-options "-O3 -mavx2 -ffast-math -mtune=skylake" } */
#include "avx2-check.h"
/* { dg-do run } */
/* { dg-require-effective-target avx2 } */
-/* { dg-options "-O3 -mavx2" } */
+/* { dg-options "-O3 -mavx2 -mtune=skylake" } */
#include "avx2-check.h"
/* { dg-do run } */
/* { dg-require-effective-target avx2 } */
-/* { dg-options "-O3 -mavx2 -fno-common" } */
+/* { dg-options "-O3 -mavx2 -fno-common -mtune=skylake" } */
#include "avx2-check.h"
/* { dg-do compile } */
-/* { dg-options "-O3 -mavx2 -fno-common -fdump-tree-vect-details" } */
+/* { dg-options "-O3 -mavx2 -fno-common -fdump-tree-vect-details -mtune=skylake" } */
#include "avx2-gather-5.c"
/* { dg-do run } */
/* { dg-require-effective-target avx512f } */
-/* { dg-options "-O3 -mavx512f" } */
+/* { dg-options "-O3 -mavx512f -mtune=knl" } */
#include "avx512f-check.h"
/* { dg-do compile } */ /* PR59617 */
-/* { dg-options "-O3 -mavx512f -fdump-tree-vect-details" } */
+/* { dg-options "-O3 -mavx512f -fdump-tree-vect-details -mtune=knl" } */
#include "avx512f-gather-1.c"
/* { dg-do run } */
/* { dg-require-effective-target avx512f } */
-/* { dg-options "-O3 -mavx512f -ffast-math" } */
+/* { dg-options "-O3 -mavx512f -ffast-math -mtune=knl" } */
#include "avx512f-check.h"
/* { dg-do run } */
/* { dg-require-effective-target avx512f } */
-/* { dg-options "-O3 -mavx512f" } */
+/* { dg-options "-O3 -mavx512f -mtune=knl" } */
#include "avx512f-check.h"
/* { dg-do compile } */
-/* { dg-options "-O3 -mavx512f" } */
+/* { dg-options "-O3 -mavx512f -mtune=knl" } */
#include "avx512f-gather-4.c"
/* { dg-do compile } */
-/* { dg-options "-mavx512f -O2" } */
+/* { dg-options "-mavx512f -O2 -mtune=knl" } */
/* { dg-final { scan-assembler-times "vpgatherdd\[ \\t\]+\[^\{\n\]*zmm\[0-9\]\[^\n\]*zmm\[0-9\]{%k\[1-7\]}(?:\n|\[ \\t\]+#)" 2 } } */
#include <immintrin.h>
/* { dg-do run } */
-/* { dg-options "-mavx512f -O2" } */
+/* { dg-options "-mavx512f -O2 -mtune=knl" } */
/* { dg-require-effective-target avx512f } */
#include "avx512f-check.h"
/* { dg-do compile } */
-/* { dg-options "-mavx512f -O2" } */
+/* { dg-options "-mavx512f -O2 -mtune=knl" } */
/* { dg-final { scan-assembler-times "vgatherdpd\[ \\t\]+\[^\{\n\]*ymm\[0-9\]\[^\n\]*zmm\[0-9\]{%k\[1-7\]}(?:\n|\[ \\t\]+#)" 2 } } */
#include <immintrin.h>
/* { dg-do run } */
-/* { dg-options "-mavx512f -O2" } */
+/* { dg-options "-mavx512f -O2 -mtune=knl" } */
/* { dg-require-effective-target avx512f } */
#include "avx512f-check.h"
/* { dg-do compile } */
-/* { dg-options "-mavx512f -O2" } */
+/* { dg-options "-mavx512f -O2 -mtune=knl" } */
/* { dg-final { scan-assembler-times "vgatherdps\[ \\t\]+\[^\{\n\]*zmm\[0-9\]\[^\n\]*zmm\[0-9\]{%k\[1-7\]}(?:\n|\[ \\t\]+#)" 2 } } */
#include <immintrin.h>
--- /dev/null
+Module radin_mod
+ INTEGER, PARAMETER :: DP = selected_real_kind(14,200)
+Contains
+ Subroutine SPLIFT (X,Y,YP,YPP,N,IERR,ISX,A1,B1,AN,BN)
+ Integer, Intent(in) :: N,ISX
+ Real(dp), Intent(in) :: X(N),Y(N),A1,B1,AN,BN
+ Real(dp), Intent(out) :: YP(N),YPP(N)
+ Real(dp), Allocatable, Dimension(:,:) :: W
+ NM1 = N-1
+ NM2 = N-2
+ If (ISX.Gt.0) GO TO 40
+ Do I=2,N
+ If (X(I)-X(I-1) .Le. 0) Then
+ IERR = 3
+ Return
+ Endif
+ End Do
+ Allocate(W(N,3))
+40 YPP(1) = 4*B1
+ DOLD = (Y(2)-Y(1))/W(2,2)
+ Do I=2,NM2
+ DNEW = (Y(I+1) - Y(I))/W(I+1,2)
+ YPP(I) = 6*(DNEW - DOLD)
+ YP(I) = DOLD
+ DOLD = DNEW
+ End Do
+ Return
+ End Subroutine SPLIFT
+End Module radin_mod
+