diff options
author | Michael Meissner <meissner@linux.vnet.ibm.com> | 2016-07-28 21:02:06 +0000 |
---|---|---|
committer | Michael Meissner <meissner@gcc.gnu.org> | 2016-07-28 21:02:06 +0000 |
commit | e0d321856b3415542f2f13a49e68f1926a71feb3 (patch) | |
tree | 9f3ec03c90e2cdf5132f804278fcdbcf1dc11be9 /gcc/fortran/trans-array.c | |
parent | 1a2196e484a1b039c07f9afce090e9beb9dac62b (diff) | |
download | gcc-e0d321856b3415542f2f13a49e68f1926a71feb3.zip gcc-e0d321856b3415542f2f13a49e68f1926a71feb3.tar.gz gcc-e0d321856b3415542f2f13a49e68f1926a71feb3.tar.bz2 |
rs6000-protos.h (rs6000_split_vec_extract_var): New declaration.
[gcc]
2016-07-28 Michael Meissner <meissner@linux.vnet.ibm.com>
* config/rs6000/rs6000-protos.h (rs6000_split_vec_extract_var):
New declaration.
* config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
Add support for vec_extract of vector double or vector long having
a variable element number on 64-bit ISA 2.07 systems or newer.
* config/rs6000/rs6000.c (rs6000_expand_vector_extract):
Likewise.
(rs6000_split_vec_extract_var): New function to split a
vec_extract built-in function with variable element number.
(rtx_is_swappable_p): Variable vec_extracts and shifts are not
swappable.
* config/rs6000/vsx.md (UNSPEC_VSX_VSLO): New unspec.
(UNSPEC_VSX_EXTRACT): Likewise.
(vsx_extract_<mode>, VSX_D iterator): Fix constraints to allow
direct move instructions to be generated on 64-bit ISA 2.07
systems and newer, and to take advantage of the ISA 3.0 MFVSRLD
instruction.
(vsx_vslo_<mode>): New insn to do VSLO on V2DFmode and V2DImode
arguments for vec_extract variable element.
(vsx_extract_<mode>_var, VSX_D iterator): New insn to support
vec_extract with variable element on V2DFmode and V2DImode
vectors.
* config/rs6000/rs6000.h (TARGET_VEXTRACTUB): Remove
-mupper-regs-df requirement, since it isn't needed.
(TARGET_DIRECT_MOVE_64BIT): New macro to say whether we can
do direct moves on 64-bit systems, which allows optimization of
vec_extract on 64-bit ISA 2.07 systems and newer.
[gcc/testsuite]
2016-07-28 Michael Meissner <meissner@linux.vnet.ibm.com>
* gcc.target/powerpc/vec-extract-1.c: New test.
From-SVN: r238838
Diffstat (limited to 'gcc/fortran/trans-array.c')
0 files changed, 0 insertions, 0 deletions