[gcc/devel/omp/gcc-9] Revert "Fix bad code of vector extract of PC-relative address with variable element #."
Tobias Burnus
burnus@gcc.gnu.org
Thu Mar 5 14:56:00 GMT 2020
https://gcc.gnu.org/g:a0e22367235f5cd092f9d7800f17081ca4dc79e8
commit a0e22367235f5cd092f9d7800f17081ca4dc79e8
Author: Peter Bergner <bergner@linux.ibm.com>
Date: Sat Feb 29 16:30:48 2020 -0600
Revert "Fix bad code of vector extract of PC-relative address with variable element #."
This reverts commit 48558cdf49373ba508cf8d7fcaaafb383316f644.
See PR93974.
Diff:
---
gcc/ChangeLog | 14 --------------
gcc/config/rs6000/vsx.md | 8 ++++----
2 files changed, 4 insertions(+), 18 deletions(-)
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 86825b1..2ed1f2e 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -116,20 +116,6 @@
(maybe_run_lto_and_relink): Avoid possible signal handler
access to unintialzed memory (lto_o_files).
-2020-02-23 Peter Bergner <bergner@linux.ibm.com>
-
- Backport from master
- 2020-01-06 Michael Meissner <meissner@linux.ibm.com>
-
- * config/rs6000/vsx.md (vsx_extract_<mode>_var, VSX_D iterator):
- Use 'Q' for doing vector extract from memory.
- (vsx_extract_v4sf_var): Use 'Q' for doing vector extract from
- memory.
- (vsx_extract_<mode>_var, VSX_EXTRACT_I iterator): Use 'Q' for
- doing vector extract from memory.
- (vsx_extract_<mode>_<VS_scalar>mode_var): Use 'Q' for doing vector
- extract from memory.
-
2020-02-21 John David Anglin <danglin@gcc.gnu.org>
* gcc/config/pa/pa.c (pa_function_value): Fix check for word and
diff --git a/gcc/config/rs6000/vsx.md b/gcc/config/rs6000/vsx.md
index 5973e0a..607c0cd 100644
--- a/gcc/config/rs6000/vsx.md
+++ b/gcc/config/rs6000/vsx.md
@@ -3295,7 +3295,7 @@
;; Variable V2DI/V2DF extract
(define_insn_and_split "vsx_extract_<mode>_var"
[(set (match_operand:<VS_scalar> 0 "gpc_reg_operand" "=v,<VSa>,r")
- (unspec:<VS_scalar> [(match_operand:VSX_D 1 "input_operand" "v,Q,Q")
+ (unspec:<VS_scalar> [(match_operand:VSX_D 1 "input_operand" "v,m,m")
(match_operand:DI 2 "gpc_reg_operand" "r,r,r")]
UNSPEC_VSX_EXTRACT))
(clobber (match_scratch:DI 3 "=r,&b,&b"))
@@ -3364,7 +3364,7 @@
;; Variable V4SF extract
(define_insn_and_split "vsx_extract_v4sf_var"
[(set (match_operand:SF 0 "gpc_reg_operand" "=ww,ww,?r")
- (unspec:SF [(match_operand:V4SF 1 "input_operand" "v,Q,Q")
+ (unspec:SF [(match_operand:V4SF 1 "input_operand" "v,m,m")
(match_operand:DI 2 "gpc_reg_operand" "r,r,r")]
UNSPEC_VSX_EXTRACT))
(clobber (match_scratch:DI 3 "=r,&b,&b"))
@@ -3724,7 +3724,7 @@
(define_insn_and_split "vsx_extract_<mode>_var"
[(set (match_operand:<VS_scalar> 0 "gpc_reg_operand" "=r,r,r")
(unspec:<VS_scalar>
- [(match_operand:VSX_EXTRACT_I 1 "input_operand" "wK,v,Q")
+ [(match_operand:VSX_EXTRACT_I 1 "input_operand" "wK,v,m")
(match_operand:DI 2 "gpc_reg_operand" "r,r,r")]
UNSPEC_VSX_EXTRACT))
(clobber (match_scratch:DI 3 "=r,r,&b"))
@@ -3743,7 +3743,7 @@
[(set (match_operand:<VS_scalar> 0 "gpc_reg_operand" "=r,r,r")
(zero_extend:<VS_scalar>
(unspec:<VSX_EXTRACT_I:VS_scalar>
- [(match_operand:VSX_EXTRACT_I 1 "input_operand" "wK,v,Q")
+ [(match_operand:VSX_EXTRACT_I 1 "input_operand" "wK,v,m")
(match_operand:DI 2 "gpc_reg_operand" "r,r,r")]
UNSPEC_VSX_EXTRACT)))
(clobber (match_scratch:DI 3 "=r,r,&b"))
More information about the Gcc-cvs
mailing list