public inbox for gcc-cvs@sourceware.org
help / color / mirror / Atom feed
* [gcc(refs/users/meissner/heads/work044)] Add xxspltiw support to output_vec_const_move.
@ 2021-04-06 18:06 Michael Meissner
0 siblings, 0 replies; only message in thread
From: Michael Meissner @ 2021-04-06 18:06 UTC (permalink / raw)
To: gcc-cvs
https://gcc.gnu.org/g:d7f7bd3912aab39895aad68a6574acc7fa0e199d
commit d7f7bd3912aab39895aad68a6574acc7fa0e199d
Author: Michael Meissner <meissner@linux.ibm.com>
Date: Tue Apr 6 14:04:49 2021 -0400
Add xxspltiw support to output_vec_const_move.
This adds support for XXSPLTIW to the generic vector load constant
support.
gcc/
2021-04-06 Michael Meissner <meissner@linux.ibm.com>
* config/rs6000/rs6000.c (output_vec_const_move): Add XXSPLTIW
support.
Diff:
---
gcc/config/rs6000/rs6000.c | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c
index ec54c9dc0c4..cc92690f5d6 100644
--- a/gcc/config/rs6000/rs6000.c
+++ b/gcc/config/rs6000/rs6000.c
@@ -6580,6 +6580,16 @@ output_vec_const_move (rtx *operands)
gcc_unreachable ();
}
+ long xxspltiw_value = 0;
+ if (xxspltiw_constant_p (vec, mode, &xxspltiw_value))
+ {
+ operands[2] = GEN_INT (xxspltiw_value);
+ return (mode == V4SImode && dest_vmx_p
+ && IN_RANGE (xxspltiw_value, -16, 15)
+ ? "vspltisw %0,%2"
+ : "xxspltiw %x0,%2");
+ }
+
if (TARGET_P9_VECTOR
&& xxspltib_constant_p (vec, mode, &num_insns, &xxspltib_value))
{
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2021-04-06 18:06 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-04-06 18:06 [gcc(refs/users/meissner/heads/work044)] Add xxspltiw support to output_vec_const_move Michael Meissner
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).