Commit 1fe399e4 by Jan Hubicka Committed by Jan Hubicka

avx2-gather-1.c: Add -march.


	* 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
parent 3ff0dc17
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>
......
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
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment