r266336 - in /trunk/gcc: ChangeLog config.in co...

krebbel@gcc.gnu.org krebbel@gcc.gnu.org
Wed Nov 21 07:48:00 GMT 2018


Author: krebbel
Date: Wed Nov 21 07:48:49 2018
New Revision: 266336

URL: https://gcc.gnu.org/viewcvs?rev=266336&root=gcc&view=rev
Log:
S/390: Support vector load/store alignment hints

The IBM z14 POP adds an optional alignment operand to the vl, vst,
vlm, and vstm instruction (vector loads and stores). Vectors residing
on 8 or 16 byte boundaries might get loaded or stored faster on some
models given the instruction uses the proper hint operand.  A wrong
hint will hurt performance though.

The attached testcase align-1 currently fails due to:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88085

gcc/ChangeLog:

2018-11-21  Andreas Krebbel  <krebbel@linux.ibm.com>

	* configure.ac: Add check for Binutils to determine whether vector
	load/store alignments hints are being supported.
	* config.in: Regenerate.
	* configure: Regenerate.
	* config/s390/s390.c (print_operand): Support new output
	modifier A.
	* config/s390/s390.md ("movti"): Append alignment hint output
	using the new output modifier 'A'.
	* config/s390/vector.md ("mov<mode>", "*vec_tf_to_v1tf")
	("*vec_ti_to_v1ti"): Likewise.

gcc/testsuite/ChangeLog:

2018-11-21  Andreas Krebbel  <krebbel@linux.ibm.com>

	* gcc.target/s390/vector/align-1.c: New test.
	* gcc.target/s390/vector/align-2.c: New test.


Added:
    trunk/gcc/testsuite/gcc.target/s390/vector/align-1.c
    trunk/gcc/testsuite/gcc.target/s390/vector/align-2.c
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/config.in
    trunk/gcc/config/s390/s390.c
    trunk/gcc/config/s390/s390.md
    trunk/gcc/config/s390/vector.md
    trunk/gcc/configure
    trunk/gcc/configure.ac
    trunk/gcc/testsuite/ChangeLog



More information about the Gcc-cvs mailing list