altivec.h (vec_absd): New macro for vector absolute difference unsigned.
authorKelvin Nilsen <kelvin@gcc.gnu.org>
Mon, 13 Jun 2016 17:59:12 +0000 (17:59 +0000)
committerKelvin Nilsen <kelvin@gcc.gnu.org>
Mon, 13 Jun 2016 17:59:12 +0000 (17:59 +0000)
commit5408a64ac460645337ec95e82d46cdf1641f60de
treec8e0b6a68b73c818254c85eb31065255e601adef
parentec67c62e3c3b4f2cc6f328135b87f562e20e1b75
altivec.h (vec_absd): New macro for vector absolute difference unsigned.

gcc/ChangeLog:

2016-06-13  Kelvin Nilsen  <kelvin@gcc.gnu.org>

* config/rs6000/altivec.h (vec_absd): New macro for vector absolute
difference unsigned.
(vec_absdb): New macro for vector absolute difference unsigned
byte.
(vec_absdh): New macro for vector absolute difference unsigned
half-word.
(vec_absdw): New macro for vector absolute difference unsigned word.
* config/rs6000/altivec.md (UNSPEC_VADU): New value.
(vadu<mode>3): New insn.
(*p9_vadu<mode>3): New insn.
* config/rs6000/rs6000-builtin.def (vadub): New built-in
definition.
(vaduh): New built-in definition.
(vaduw): New built-in definition.
(vadu): New overloaded built-in definition.
(vadub): New overloaded built-in definition.
(vaduh): New overloaded built-in definition.
(vaduw): New overloaded built-in definition.
* config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
overloaded vector absolute difference unsigned functions.
* doc/extend.texi (PowerPC AltiVec Built-in Functions): Document
the ISA 3.0 vector absolute difference unsigned built-in functions.

gcc/testsuite/ChangeLog:

2016-06-13  Kelvin Nilsen  <kelvin@gcc.gnu.org>

* gcc.target/powerpc/vadsdu-0.c: New test.
* gcc.target/powerpc/vadsdu-1.c: New test.
* gcc.target/powerpc/vadsdu-2.c: New test.
* gcc.target/powerpc/vadsdu-3.c: New test.
* gcc.target/powerpc/vadsdu-4.c: New test.
* gcc.target/powerpc/vadsdu-5.c: New test.
* gcc.target/powerpc/vadsdub-1.c: New test.
* gcc.target/powerpc/vadsdub-2.c: New test.
* gcc.target/powerpc/vadsduh-1.c: New test.
* gcc.target/powerpc/vadsduh-2.c: New test.
* gcc.target/powerpc/vadsduw-1.c: New test.
* gcc.target/powerpc/vadsduw-2.c: New test.

From-SVN: r237390
19 files changed:
gcc/ChangeLog
gcc/config/rs6000/altivec.h
gcc/config/rs6000/altivec.md
gcc/config/rs6000/rs6000-builtin.def
gcc/config/rs6000/rs6000-c.c
gcc/doc/extend.texi
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/powerpc/vadsdu-0.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/vadsdu-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/vadsdu-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/vadsdu-3.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/vadsdu-4.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/vadsdu-5.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/vadsdub-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/vadsdub-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/vadsduh-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/vadsduh-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/vadsduw-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/vadsduw-2.c [new file with mode: 0644]