[gcc(refs/users/meissner/heads/work082)] Improve vsx_splat_<mode>_reg
Michael Meissner
meissner@gcc.gnu.org
Wed Mar 23 21:52:33 GMT 2022
https://gcc.gnu.org/g:b359b8e26d9baeb0376b8b77eac02e5fbea5a04b
commit b359b8e26d9baeb0376b8b77eac02e5fbea5a04b
Author: Michael Meissner <meissner@linux.ibm.com>
Date: Wed Mar 23 17:52:12 2022 -0400
Improve vsx_splat_<mode>_reg
In looking at PR target/99293, I noticed that the code in
vsx_splat_<mode>_reg used "vecmove" as the "type" insn attribute when the
"mtvsrdd" is generated. It should use "mfvsr". I also added a "p9v" isa
attribute for that alternative.
2022-03-23 Michael Meissner <meissner@linux.ibm.com>
gcc/
PR target/99392
* config/rs6000/rs6000.md (vsx_splat_<mode>_reg): Use the correct
insn type attribute. Add "p9v" isa attribute as needed.
Diff:
---
gcc/config/rs6000/vsx.md | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/gcc/config/rs6000/vsx.md b/gcc/config/rs6000/vsx.md
index a1c95c61b2e..75b85409cd8 100644
--- a/gcc/config/rs6000/vsx.md
+++ b/gcc/config/rs6000/vsx.md
@@ -4580,7 +4580,8 @@
"@
xxpermdi %x0,%x1,%x1,0
mtvsrdd %x0,%1,%1"
- [(set_attr "type" "vecperm,vecmove")])
+ [(set_attr "type" "vecperm,mtvsr")
+ (set_attr "isa" "*,p9v")])
(define_insn "vsx_splat_<mode>_mem"
[(set (match_operand:VSX_D 0 "vsx_register_operand" "=wa")
More information about the Gcc-cvs
mailing list