gcc/ChangeLog: 2016-08-10 Kelvin Nilsen <kelvin@gcc.gnu.org> * config/rs6000/altivec.h (vec_extract_exp): New macro. (vec_extract_sig): New macro. (vec_insert_exp): New macro. (vec_test_data_class): New macro. (scalar_extract_exp): New macro. (scalar_extract_sig): New macro. (scalar_insert_exp): New macro. (scalar_test_data_class): New macro. (scalar_test_neg): New macro. (scalar_cmp_exp_gt): New macro. (scalar_cmp_exp_lt): New macro. (scalar_cmp_exp_eq): New macro. (scalar_cmp_exp_unordered): New macro. * config/rs6000/predicates.md (u7bit_cint_operand): New predicate to enforce constraint that operand is a 7-bit unsigned literal. * config/rs6000/rs6000-builtin.def (BU_P9V_64BIT_VSX_1): New macro for power9 built-ins. (BU_P9V_VSX_2): Likewise. (BU_P9V_64BIT_VSX_2): Likewise. (VSEEDP): Add scalar extract exponent support. (VSEESP): Add scalar extract signature support. (VSTDCNDP): Add scalar test negative support. (VSTDCNSP): Likewise. (VSIEDP): Add scalar insert exponent support. (VSCEDPGT): Add scalar compare exponent greater than support. (VSCEDPLT): Add scalar compare exponent less than support. (VSCEDPEQ): Add scalar compare exponent test-for-equality support. (VSCEDPUO): Add scalar compare exponent test-for-unordered support. (VSTDCDP): Add scalar test data class support. (VSTDCSP): Likewise. (VSEEDP): Add overload support for scalar extract exponent operation. (VSESDP): Add overload support for scalar extract signature operation. (VSTDCN): Add overload support for scalar test negative operation. (VSTDCNDP): Add overload support for scalar test negative operation. (VSTDCNSP): Add overload support for scalar test negative operation. (VSIEDP): Add overload support for scalar insert exponent operation. (VSTDC): Add overload support for scalar test data class operation. (VSTDCDP): Add overload support for scalar test data class operation. (VSTDCSP): Add overload support for scalar test data class opreation. (VSCEDPGT): Add overload support for scalar compare exponent greater than operation. (VSCEDPLT): Add overload support for scalar compare exponent less than operation. (VSCEDPEQ): Add overload support for scalar compare exponent test-for-equality operation. (VSCEDPUO): Add overload support for scalar compare exponent test-for-unordered operation. (VEEDP): Add vector extract exponent support. (VEESP): Likewise. (VESDP): Add vector extract significand support. (VESSP): Likewise. (VIEDP): Add vector insert exponent support. (VIESP): Likewise. (VTDCDP): Add vector test data class support. (VTDCSP): Likewise. (VES): Add overload support for vector extract significand operation. (VESDP): Likewise. (VESSP): Likewise (VEE): Add overload support for vector extract exponent operation. (VEEDP): Likewise. (VEESP): Likewise. (VTDC): Add overload support for vector test data class operation. (VTDCDP): Likewise. (VTDCSP): Likewise. (VIE): Add overload support for vector insert exponent operation. (VIEDP): Likewise. (VIESP): Likewise. * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add overloaded binary floating point functions. (altivec_resolve_overloaded_builtin): Improve error messages to distinguish between functions not supported in the current compiler configuration and functions that were invoked with an invalid parameter combination, and include the built-in function name in both error messages. * config/rs6000/rs6000-protos.h (rs6000_overloaded_builtin_name): New prototype. * config/rs6000/rs6000.c (rs6000_overloaded_builtin_name): New function. (rs6000_expand_binop_builtin): Add check to enforce that argument 2 of the test data class operations is a 7-bit unsigned literal. (rs6000_invalid_builtin): Add code to issue an error message if a built-in function that requires the power9_vector and -m32 command-line options is compiled without these options. * config/rs6000/vsx.md (UNSPEC_VSX_SXEXPDP): New value. (UNSPEC_VSX_SXSIGDP): New value. (UNSPEC_VSX_SXSIGPDP): New value. (UNSPEC_VSX_SIEXPDP): New value. (UNSPEC_VSX_SCMPEXPDP): New value. (UNSPEC_VSX_STSTDC): New value. (UNSPEC_VSX_VXEXP): New value. (UNSPEC_VSX_VXSIG): New value. (UNSPEC_VSX_VIEXP): New value. (UNSPEC_VSX_VTSTDC): New value. (xsxexpdp): New insn for scalar extract exponent. (xsxsigdp): New insn for scalar extract significand. (xsiexpdp): New insn for scalar insert exponent. (xscmpexpdp_<code>): New expansion for scalar compare exponents. (*xscmpexpdp): New insn for scalar compare exponents. (xststdc<Fvsx): New expansion for both single- and double-precision scalar test data class operations. (xststdcneg<Fvsx>): New expansion for both single- and double-precision scalar test for negative value operations. (*xststdc<Fvsx>): New insn for scalar test data class operation. (xvxexp<VSs>): New insn for single- and double-precision vector extract exponent operation. (xvxsig<VSs>): New insn for single- and double-precision vector extract significand operation. (xviexp<VSs>): New insn for single- and double-precision vector insert exponent operation. (xvtstdc<VSs>): New insn for single- and double-precision vector test data class operation. * doc/extend.texi (PowerPC AltiVec Built-in Functions): Document built-in functions to represent the Power9 binary floating-point support instructions. gcc/testsuite/ChangeLog: 2016-08-10 Kelvin Nilsen <kelvin@gcc.gnu.org> * gcc.target/powerpc/bfp/bfp.exp: New file. * gcc.target/powerpc/bfp/scalar-cmp-exp-eq-0.c: New test. * gcc.target/powerpc/bfp/scalar-cmp-exp-eq-1.c: New test. * gcc.target/powerpc/bfp/scalar-cmp-exp-eq-2.c: New test. * gcc.target/powerpc/bfp/scalar-cmp-exp-gt-0.c: New test. * gcc.target/powerpc/bfp/scalar-cmp-exp-gt-1.c: New test. * gcc.target/powerpc/bfp/scalar-cmp-exp-gt-2.c: New test. * gcc.target/powerpc/bfp/scalar-cmp-exp-lt-0.c: New test. * gcc.target/powerpc/bfp/scalar-cmp-exp-lt-1.c: New test. * gcc.target/powerpc/bfp/scalar-cmp-exp-lt-2.c: New test. * gcc.target/powerpc/bfp/scalar-cmp-exp-unordered-0.c: New test. * gcc.target/powerpc/bfp/scalar-cmp-exp-unordered-1.c: New test. * gcc.target/powerpc/bfp/scalar-cmp-exp-unordered-2.c: New test. * gcc.target/powerpc/bfp/scalar-extract-exp-0.c: New test. * gcc.target/powerpc/bfp/scalar-extract-exp-1.c: New test. * gcc.target/powerpc/bfp/scalar-extract-exp-2.c: New test. * gcc.target/powerpc/bfp/scalar-extract-sig-0.c: New test. * gcc.target/powerpc/bfp/scalar-extract-sig-1.c: New test. * gcc.target/powerpc/bfp/scalar-extract-sig-2.c: New test. * gcc.target/powerpc/bfp/scalar-insert-exp-0.c: New test. * gcc.target/powerpc/bfp/scalar-insert-exp-1.c: New test. * gcc.target/powerpc/bfp/scalar-insert-exp-2.c: New test. * gcc.target/powerpc/bfp/scalar-test-data-class-0.c: New test. * gcc.target/powerpc/bfp/scalar-test-data-class-1.c: New test. * gcc.target/powerpc/bfp/scalar-test-data-class-2.c: New test. * gcc.target/powerpc/bfp/scalar-test-data-class-3.c: New test. * gcc.target/powerpc/bfp/scalar-test-data-class-4.c: New test. * gcc.target/powerpc/bfp/scalar-test-data-class-5.c: New test. * gcc.target/powerpc/bfp/scalar-test-data-class-6.c: New test. * gcc.target/powerpc/bfp/scalar-test-data-class-7.c: New test. * gcc.target/powerpc/bfp/scalar-test-neg-0.c: New test. * gcc.target/powerpc/bfp/scalar-test-neg-1.c: New test. * gcc.target/powerpc/bfp/scalar-test-neg-2.c: New test. * gcc.target/powerpc/bfp/scalar-test-neg-3.c: New test. * gcc.target/powerpc/bfp/vec-extract-exp-0.c: New test. * gcc.target/powerpc/bfp/vec-extract-exp-1.c: New test. * gcc.target/powerpc/bfp/vec-extract-exp-2.c: New test. * gcc.target/powerpc/bfp/vec-extract-exp-3.c: New test. * gcc.target/powerpc/bfp/vec-extract-sig-0.c: New test. * gcc.target/powerpc/bfp/vec-extract-sig-1.c: New test. * gcc.target/powerpc/bfp/vec-extract-sig-2.c: New test. * gcc.target/powerpc/bfp/vec-extract-sig-3.c: New test. * gcc.target/powerpc/bfp/vec-insert-exp-0.c: New test. * gcc.target/powerpc/bfp/vec-insert-exp-1.c: New test. * gcc.target/powerpc/bfp/vec-insert-exp-2.c: New test. * gcc.target/powerpc/bfp/vec-insert-exp-3.c: New test. * gcc.target/powerpc/bfp/vec-test-data-class-0.c: New test. * gcc.target/powerpc/bfp/vec-test-data-class-1.c: New test. * gcc.target/powerpc/bfp/vec-test-data-class-2.c: New test. * gcc.target/powerpc/bfp/vec-test-data-class-3.c: New test. * gcc.target/powerpc/bfp/vec-test-data-class-4.c: New test. * gcc.target/powerpc/bfp/vec-test-data-class-5.c: New test. * gcc.target/powerpc/bfp/vec-test-data-class-6.c: New test. * gcc.target/powerpc/bfp/vec-test-data-class-7.c: New test. From-SVN: r239334
Name |
Last commit
|
Last update |
---|---|---|
.. | ||
aarch64 | Loading commit data... | |
alpha | Loading commit data... | |
arc | Loading commit data... | |
arm | Loading commit data... | |
avr | Loading commit data... | |
bfin | Loading commit data... | |
c6x | Loading commit data... | |
cr16 | Loading commit data... | |
cris | Loading commit data... | |
epiphany | Loading commit data... | |
fr30 | Loading commit data... | |
frv | Loading commit data... | |
ft32 | Loading commit data... | |
h8300 | Loading commit data... | |
i386 | Loading commit data... | |
ia64 | Loading commit data... | |
iq2000 | Loading commit data... | |
lm32 | Loading commit data... | |
m32c | Loading commit data... | |
m32r | Loading commit data... | |
m68k | Loading commit data... | |
mcore | Loading commit data... | |
microblaze | Loading commit data... | |
mips | Loading commit data... | |
mmix | Loading commit data... | |
mn10300 | Loading commit data... | |
moxie | Loading commit data... | |
msp430 | Loading commit data... | |
nds32 | Loading commit data... | |
nios2 | Loading commit data... | |
nvptx | Loading commit data... | |
pa | Loading commit data... | |
pdp11 | Loading commit data... | |
rl78 | Loading commit data... | |
rs6000 | Loading commit data... | |
rx | Loading commit data... | |
s390 | Loading commit data... | |
sh | Loading commit data... | |
sparc | Loading commit data... | |
spu | Loading commit data... | |
stormy16 | Loading commit data... | |
tilegx | Loading commit data... | |
tilepro | Loading commit data... | |
v850 | Loading commit data... | |
vax | Loading commit data... | |
visium | Loading commit data... | |
vms | Loading commit data... | |
xtensa | Loading commit data... | |
README | Loading commit data... | |
darwin-c.c | Loading commit data... | |
darwin-driver.c | Loading commit data... | |
darwin-f.c | Loading commit data... | |
darwin-ppc-ldouble-patch.def | Loading commit data... | |
darwin-protos.h | Loading commit data... | |
darwin-sections.def | Loading commit data... | |
darwin.c | Loading commit data... | |
darwin.h | Loading commit data... | |
darwin.opt | Loading commit data... | |
darwin10.h | Loading commit data... | |
darwin12.h | Loading commit data... | |
darwin9.h | Loading commit data... | |
dbx.h | Loading commit data... | |
dbxcoff.h | Loading commit data... | |
dbxelf.h | Loading commit data... | |
default-c.c | Loading commit data... | |
dragonfly-stdint.h | Loading commit data... | |
dragonfly.h | Loading commit data... | |
dragonfly.opt | Loading commit data... | |
elfos.h | Loading commit data... | |
flat.h | Loading commit data... | |
freebsd-nthr.h | Loading commit data... | |
freebsd-spec.h | Loading commit data... | |
freebsd-stdint.h | Loading commit data... | |
freebsd.h | Loading commit data... | |
freebsd.opt | Loading commit data... | |
fused-madd.opt | Loading commit data... | |
g.opt | Loading commit data... | |
glibc-c.c | Loading commit data... | |
glibc-stdint.h | Loading commit data... | |
gnu-user.h | Loading commit data... | |
gnu-user.opt | Loading commit data... | |
gnu.h | Loading commit data... | |
host-darwin.c | Loading commit data... | |
host-darwin.h | Loading commit data... | |
host-hpux.c | Loading commit data... | |
host-linux.c | Loading commit data... | |
host-openbsd.c | Loading commit data... | |
host-solaris.c | Loading commit data... | |
hpux-stdint.h | Loading commit data... | |
hpux11.opt | Loading commit data... | |
initfini-array.h | Loading commit data... | |
kfreebsd-gnu.h | Loading commit data... | |
kopensolaris-gnu.h | Loading commit data... | |
linux-android.h | Loading commit data... | |
linux-android.opt | Loading commit data... | |
linux-protos.h | Loading commit data... | |
linux.c | Loading commit data... | |
linux.h | Loading commit data... | |
linux.opt | Loading commit data... | |
lynx.h | Loading commit data... | |
lynx.opt | Loading commit data... | |
netbsd-elf.h | Loading commit data... | |
netbsd-elf.opt | Loading commit data... | |
netbsd.h | Loading commit data... | |
netbsd.opt | Loading commit data... | |
newlib-stdint.h | Loading commit data... | |
openbsd-libpthread.h | Loading commit data... | |
openbsd-stdint.h | Loading commit data... | |
openbsd.h | Loading commit data... | |
openbsd.opt | Loading commit data... | |
phoenix.h | Loading commit data... | |
print-sysroot-suffix.sh | Loading commit data... | |
rpath.opt | Loading commit data... | |
rtems.h | Loading commit data... | |
rtems.opt | Loading commit data... | |
sol2-c.c | Loading commit data... | |
sol2-clearcap.map | Loading commit data... | |
sol2-clearcapv2.map | Loading commit data... | |
sol2-cxx.c | Loading commit data... | |
sol2-protos.h | Loading commit data... | |
sol2-stubs.c | Loading commit data... | |
sol2.c | Loading commit data... | |
sol2.h | Loading commit data... | |
sol2.opt | Loading commit data... | |
t-darwin | Loading commit data... | |
t-glibc | Loading commit data... | |
t-libunwind | Loading commit data... | |
t-linux | Loading commit data... | |
t-lynx | Loading commit data... | |
t-openbsd | Loading commit data... | |
t-pnt16-warn | Loading commit data... | |
t-rtems | Loading commit data... | |
t-slibgcc | Loading commit data... | |
t-sol2 | Loading commit data... | |
t-sysroot-suffix | Loading commit data... | |
t-vxworks | Loading commit data... | |
t-winnt | Loading commit data... | |
tm-dwarf2.h | Loading commit data... | |
usegas.h | Loading commit data... | |
usegld.h | Loading commit data... | |
vx-common.h | Loading commit data... | |
vxworks-dummy.h | Loading commit data... | |
vxworks.c | Loading commit data... | |
vxworks.h | Loading commit data... | |
vxworks.opt | Loading commit data... | |
vxworksae.h | Loading commit data... | |
winnt-c.c | Loading commit data... | |
x-cflags-O1 | Loading commit data... | |
x-darwin | Loading commit data... | |
x-hpux | Loading commit data... | |
x-linux | Loading commit data... | |
x-openbsd | Loading commit data... | |
x-solaris | Loading commit data... |