Commit 26412773 by Andreas Krebbel Committed by Andreas Krebbel

Enable vect_float with S/390 VXE and adjust testcases

The target supports routines provide vect_double and vect_float but
these do not appear to be used consequently in the vect testcases.
With z13 we only have support for vector double but with z14 also for
vector float.  This patch adds vect_float to the testcases using the
float data type and make the vect_float target check to return 1 only
on z14.

gcc/testsuite/ChangeLog:

2017-10-04  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

	* lib/target-supports.exp (check_effective_target_vect_float):
	Return 1 being on a S/390 with VXE.
	* gcc.dg/vect/pr31699.c: Require vec_float.
	* gcc.dg/vect/pr61194.c: Likewise.
	* gcc.dg/vect/pr65947-10.c: Likewise.
	* gcc.dg/vect/pr66142.c: Likewise.
	* gcc.dg/vect/slp-10.c: Likewise.
	* gcc.dg/vect/slp-11c.c: Likewise.
	* gcc.dg/vect/slp-12b.c: Likewise.
	* gcc.dg/vect/slp-18.c: Likewise.
	* gcc.dg/vect/slp-33.c: Likewise.
	* gcc.dg/vect/slp-cond-2-big-array.c: Likewise.
	* gcc.dg/vect/slp-cond-2.c: Likewise.
	* gcc.dg/vect/vect-cond-10.c: Likewise.
	* gcc.dg/vect/vect-cond-8.c: Likewise.
	* gcc.dg/vect/vect-cond-9.c: Likewise.
	* gcc.dg/vect/vect-float-extend-1.c: Likewise.
	* gcc.dg/vect/vect-float-truncate-1.c: Likewise.

From-SVN: r253403
parent ebb4badd
2017-10-04 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
* lib/target-supports.exp (check_effective_target_vect_float):
Return 1 being on a S/390 with VXE.
* gcc.dg/vect/pr31699.c: Require vec_float.
* gcc.dg/vect/pr61194.c: Likewise.
* gcc.dg/vect/pr65947-10.c: Likewise.
* gcc.dg/vect/pr66142.c: Likewise.
* gcc.dg/vect/slp-10.c: Likewise.
* gcc.dg/vect/slp-11c.c: Likewise.
* gcc.dg/vect/slp-12b.c: Likewise.
* gcc.dg/vect/slp-18.c: Likewise.
* gcc.dg/vect/slp-33.c: Likewise.
* gcc.dg/vect/slp-cond-2-big-array.c: Likewise.
* gcc.dg/vect/slp-cond-2.c: Likewise.
* gcc.dg/vect/vect-cond-10.c: Likewise.
* gcc.dg/vect/vect-cond-8.c: Likewise.
* gcc.dg/vect/vect-cond-9.c: Likewise.
* gcc.dg/vect/vect-float-extend-1.c: Likewise.
* gcc.dg/vect/vect-float-truncate-1.c: Likewise.
2017-10-04 Thomas Schwinge <thomas@codesourcery.com>
PR tree-optimization/82374
......
/* { dg-require-effective-target vect_double } */
/* { dg-require-effective-target vect_float } */
#include <stdlib.h>
#include <stdarg.h>
......
/* { dg-require-effective-target vect_cond_mixed } */
/* { dg-require-effective-target vect_float } */
#include "tree-vect.h"
......
/* { dg-require-effective-target vect_condition } */
/* { dg-require-effective-target vect_float } */
#include "tree-vect.h"
......
......@@ -41,4 +41,4 @@ foo (float *a, float *b, float *c)
*a = z;
}
/* { dg-final { scan-tree-dump-times "vectorized 1 loops in function" 1 "vect" { target vect_condition } } } */
/* { dg-final { scan-tree-dump-times "vectorized 1 loops in function" 1 "vect" { target { vect_condition && vect_float } } } } */
/* { dg-require-effective-target vect_int } */
/* { dg-require-effective-target vect_float } */
#include <stdarg.h>
#include "tree-vect.h"
......
/* { dg-require-effective-target vect_int } */
/* { dg-require-effective-target vect_float } */
#include <stdarg.h>
#include "tree-vect.h"
......
/* { dg-require-effective-target vect_uintfloat_cvt } */
/* { dg-require-effective-target vect_float } */
#include <stdarg.h>
#include "tree-vect.h"
......
/* { dg-require-effective-target vect_int } */
/* { dg-require-effective-target vect_float } */
/* { dg-require-effective-target vect_intfloat_cvt } */
#include <stdarg.h>
......
/* { dg-require-effective-target vect_int } */
/* { dg-require-effective-target vect_float } */
#include <stdarg.h>
#include "tree-vect.h"
......
/* { dg-require-effective-target vect_cond_mixed } */
/* { dg-require-effective-target vect_float } */
#include "tree-vect.h"
#define N 128
......
/* { dg-require-effective-target vect_cond_mixed } */
/* { dg-require-effective-target vect_float } */
#include "tree-vect.h"
#define N 32
......
/* { dg-require-effective-target vect_cond_mixed } */
/* { dg-require-effective-target vect_float } */
/* { dg-additional-options "-fno-ipa-icf" } */
#include "tree-vect.h"
......
/* { dg-require-effective-target vect_cond_mixed } */
/* { dg-require-effective-target vect_float } */
#include "tree-vect.h"
......
/* { dg-require-effective-target vect_cond_mixed } */
/* { dg-require-effective-target vect_float } */
/* { dg-additional-options "-fno-ipa-icf" } */
#include "tree-vect.h"
......
/* { dg-require-effective-target vect_double } */
/* { dg-require-effective-target vect_float } */
#include <stdarg.h>
#include "tree-vect.h"
......
/* { dg-require-effective-target vect_double } */
/* { dg-require-effective-target vect_float } */
#include <stdarg.h>
#include "tree-vect.h"
......
......@@ -5211,7 +5211,9 @@ proc check_effective_target_vect_float { } {
|| [istarget aarch64*-*-*]
|| ([istarget mips*-*-*]
&& [et-is-effective-target mips_msa])
|| [is-effective-target arm_neon] } {
|| [is-effective-target arm_neon]
|| ([istarget s390*-*-*]
&& [check_effective_target_s390_vxe]) } {
set et_vect_float_saved($et_index) 1
}
}
......
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