altivec.md (darn_32): Change the condition to TARGET_P9_MISC instead of TARGET_MODULO.
authorKelvin Nilsen <kelvin@gcc.gnu.org>
Thu, 30 Jun 2016 15:59:44 +0000 (15:59 +0000)
committerKelvin Nilsen <kelvin@gcc.gnu.org>
Thu, 30 Jun 2016 15:59:44 +0000 (15:59 +0000)
commit5a3a6a5eaed91e241fe879af65162507eafd6e5f
tree00439087345d587eb7b4170918beeb30c4190351
parent0bc2433858abb64daa41ed85994668d66cbecd71
altivec.md (darn_32): Change the condition to TARGET_P9_MISC instead of TARGET_MODULO.

gcc/ChangeLog:

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

* config/rs6000/altivec.md (darn_32): Change the condition to
TARGET_P9_MISC instead of TARGET_MODULO.
(darn_raw): Replace TARGET_MODULO with TARGET_P9_MISC in the
condition expression.
(darn): Replace TARGET_MODULO with TARGET_P9_MISC in the
condition expression.
* config/rs6000/dfp.md (UNSPEC_DTSTSFI): New unspec constant.
(DFP_TEST): New code iterator.
(dfptstsfi_<code>_mode>): New define_expand.
(*dfp_sgnfcnc_<mode>): New define_insn.
* config/rs6000/rs6000-builtin.def (BU_P9_MISC_0): Move this macro
definition next to BU_P9_MISC_1 definition and change the MASK
value to RS6000_BTM_P9_MISC.
(BU_P9_MISC_1): Change the MASK value to RS6000_BTM_P9_MISC.
(BU_P9_64BIT_MISC_0): Likewise.
(BU_P9_DFP_MISC_0): New macro definition.
(BU_P9_DFP_MISC_1): New macro definition.
(BU_P9_DFP_MISC_2): New macro definition.
(BU_P9_DFP_OVERLOAD_1): New macro definition.
(BU_P9_DFP_OVERLOAD_2): New macro definition.
(BU_P9_DFP_OVERLOAD_3): New macro definition.
(TSTSFI_LT_DD): New BU_P9_DFP_MISC_2.
(TSTSFI_LT_TD): Likewise.
(TSTSFI_EQ_DD): Likewise.
(TSTSFI_EQ_TD): Likewise.
(TSTSFI_GT_DD): Likewise.
(TSTSFI_GT_TD): Likewise.
(TSTSFI_OV_DD): Likewise.
(TSTSFI_OV_TD): Likewise.
(TSTSFI_LT): New BU_P9_DFP_OVERLOAD_2.
(TSTSFI_LT_DD): Likewise.
(TSTSFI_LT_TD): Likewise.
(TSTSFI_EQ): Likewise.
(TSTSFI_EQ_DD): Likewise.
(TSTSFI_EQ_TD): Likewise.
(TSTSFI_GT): Likewise.
(TSTSFI_GT_DD): Likewise.
(TSTSFI_GT_TD): Likewise.
(TSTSFI_OV): Likewise.
(TSTSFI_OV_DD): Likewise.
(TSTSFI_OV_TD): Likewise.
* config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
overloaded test significance functions.
* config/rs6000/rs6000-cpus.def (ISA_3_0_MASKS_SERVER): Add
OPTION_MASK_P9_MISC into the representation of this mask.
(POWERPC_MASKS): Add OPTION_MASK_P9_MISC into the representation
of this mask.
* config/rs6000/rs6000.c (rs6000_builtin_mask_calculate): Set the
RS6000_BTM_P9_MISC flag in the return value if TARGET_P9_MISC is
non-zero.
(rs6000_expand_binop_builtin): Enforce that argument 0 of the exp
argument is a 6-bit unsigned literal value if the icode argument
represents a DFP test significance built-in call.
(rs6000_invalid_builtin): Add support for the RS6000_BTM_P9_MISC
flag used independently and in combination with the
RS6000_BTM_64BIT flag.
(rs6000_opt_masks): Add entry for power9-misc command-line option.
(rs6000_builtin_mask_names): Add entry for power9-misc
command-line option.
* config/rs6000/rs6000.h: Redefine TARGET_P9_MISC as 0 if
HAVE_AS_POWER9 is not a defined macro.  Define MASK_P9_MISC and
RS6000_BTM_P9_MISC macros.
* config/rs6000/rs6000.opt: Add support for the -mpower9-misc
option and change the description of the -mpower9-vector option to
enable only vector instructions, removing its erroneously claimed
support for scalar instructions.
* doc/extend.texi (PowerPC AltiVec Built-in Functions): Document
the ISA 3.0 digital floating point test significance built-in
functions.

gcc/testsuite/ChangeLog:

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

* gcc.target/powerpc/dfp/dfp.exp: New dejagnu test script.
* gcc.target/powerpc/dfp/dtstsfi-0.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-1.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-10.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-11.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-12.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-13.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-14.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-15.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-16.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-17.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-18.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-19.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-2.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-20.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-21.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-22.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-23.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-24.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-25.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-26.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-27.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-28.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-29.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-3.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-30.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-31.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-32.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-33.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-34.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-35.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-36.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-37.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-38.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-39.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-4.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-40.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-41.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-42.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-43.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-44.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-45.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-46.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-47.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-48.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-49.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-5.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-50.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-51.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-52.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-53.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-54.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-55.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-56.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-57.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-58.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-59.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-6.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-60.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-61.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-62.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-63.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-64.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-65.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-66.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-67.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-68.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-69.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-7.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-70.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-71.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-72.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-73.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-74.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-75.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-76.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-77.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-78.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-79.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-8.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-9.c: New test.

From-SVN: r237885
92 files changed:
gcc/ChangeLog
gcc/config/rs6000/altivec.md
gcc/config/rs6000/dfp.md
gcc/config/rs6000/rs6000-builtin.def
gcc/config/rs6000/rs6000-c.c
gcc/config/rs6000/rs6000-cpus.def
gcc/config/rs6000/rs6000.c
gcc/config/rs6000/rs6000.h
gcc/config/rs6000/rs6000.opt
gcc/doc/extend.texi
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/powerpc/dfp/dfp.exp [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-0.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-10.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-11.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-12.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-13.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-14.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-15.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-16.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-17.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-18.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-19.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-20.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-21.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-22.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-23.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-24.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-25.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-26.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-27.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-28.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-29.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-3.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-30.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-31.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-32.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-33.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-34.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-35.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-36.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-37.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-38.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-39.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-4.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-40.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-41.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-42.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-43.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-44.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-45.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-46.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-47.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-48.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-49.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-5.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-50.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-51.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-52.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-53.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-54.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-55.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-56.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-57.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-58.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-59.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-6.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-60.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-61.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-62.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-63.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-64.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-65.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-66.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-67.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-68.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-69.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-7.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-70.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-71.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-72.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-73.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-74.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-75.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-76.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-77.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-78.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-79.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-8.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-9.c [new file with mode: 0644]