]> gcc.gnu.org Git - gcc.git/commit
Add integer logical vector pair instructions
authorMichael Meissner <meissner@linux.ibm.com>
Fri, 17 Nov 2023 02:53:36 +0000 (21:53 -0500)
committerMichael Meissner <meissner@linux.ibm.com>
Fri, 17 Nov 2023 02:53:36 +0000 (21:53 -0500)
commitbd8b738322b39b3c1d95d91351bdc395c7df5223
tree256707fd27f7b9fe117d82b9550c4776cd11ea2a
parent93ae45b31df7c241305029140d1780c451dcf450
Add integer logical vector pair instructions

2023-11-16  Michael Meissner  <meissner@linux.ibm.com>

gcc/

* config/rs6000/rs600-protos.h (vector_pair_to_vector_mode): Delete.
(rs6000_adjust_for_vector_pair): Delete.
* config/rs6000/rs6000.cc (rs6000_modes_tieable_p): Allow vector pair
modes to be tied with vector modes.
(vector_pair_to_vector_mode): Make static.  Move higher.  Add integer
vector pair support.
(rs6000_split_vpair_constan): Move higher.
(rs6000_expand_vector_pair_init): Add integer vector pair support.
(altivec_expand_vec_perm_le): Add support for permuting V32QImode.
(rs6000_adjust_for_vector_pair): Delete.
* config/rs6000/vector-pair.md (VPAIR): Add integer pair modes.
(VPAIR_FP): New mode iterator.
(VPAIR_FP_UNARY): Rename from VPAIR_UNARY.
(VPAIR_FP_BINARY): Rename from VPAIR_BINARY.
(VPAIR_LOGICAL): New mode iterator.
(VPAIR_LOGICAL_UNARY): New code iterator.
(VPAIR_LOGICAL_BINARY): Likewise.
(vpair_op): Add integer ops.
(VPAIR_VECTOR): Add integer vector pair modes.
(vpair_vector_l): Likewise.
(VPAIR_ELEMENT): Likewise.
(vpair_element_l): Likewise.
(floating point operations): Switch from VPAIR to VPAIR_FP.
(<vpair_op><mode>2, VPAIR_LOGICAL_UNARY iterator): New insns.
(<vpair_op><mode>3, VPAIR_LOGICAL_BINARY iterator): Likewise.
(nor<mode>3_1): New combiner insn.
(nor<mode>3_): Likewise.
(andc<mode>3): Likewise.
(eqv<mode>3): Likewise.
(nand<mode>3_1): Likewise.
(nand<mode>3_2): Likewise.
(*orc<mode>3): Likewise.
gcc/config/rs6000/rs6000-protos.h
gcc/config/rs6000/rs6000.cc
gcc/config/rs6000/vector-pair.md
This page took 0.067111 seconds and 6 git commands to generate.