This is the mail archive of the
gcc-cvs@gcc.gnu.org
mailing list for the GCC project.
r275834 - in /branches/ibm/pcrel-trunk/gcc: Cha...
- From: meissner at gcc dot gnu dot org
- To: gcc-cvs at gcc dot gnu dot org
- Date: Wed, 18 Sep 2019 00:23:35 -0000
- Subject: r275834 - in /branches/ibm/pcrel-trunk/gcc: Cha...
Author: meissner
Date: Wed Sep 18 00:23:35 2019
New Revision: 275834
URL: https://gcc.gnu.org/viewcvs?rev=275834&root=gcc&view=rev
Log:
Fix bug with variable vector extract with pc-rel address.
2019-09-17 Michael Meissner <meissner@linux.ibm.com>
* config/rs6000/constraints.md (em constraint): New constraint for
non pc-relative memory.
(eM constraint): New constraint for local pc-relative memory.
* config/rs6000/predicates.md (pcrel_local_mem_operand): New
predicate to match local pc-relative references.
(non_pcrel_mem_operand): New predicate to match non pc-relative
memory.
* config/rs6000/rs6000-protos.h (rs6000_split_vec_extract_var):
Adjust calling signature.
* config/rs6000/rs6000.c (rs6000_split_vec_extract_var): Fix
problem with doing a variable vector extract where the vector's
address was a pc-relative address by adding a second scratch
register, just for that case.
* config/rs6000/vsx.md (vsx_extract_<mode>_var, VSX_D iterator):
Add second scratch register if the vector address is pc-relative.
(vsx_extract_v4sf_var): Add second scratch register if the vector
address is pc-relative.
(vsx_extract_<mode>_var, VSX_EXTRACT_I iterator): Add second
scratch register if the vector address is pc-relative.
(vsx_extract_<mode>_<VS_scalar>mode_var): Add second scratch
register if the vector address is pc-relative.
* doc/md.texi (PowerPC constraints): Document the em and eM
constraints.
Modified:
branches/ibm/pcrel-trunk/gcc/ChangeLog.meissner
branches/ibm/pcrel-trunk/gcc/config/rs6000/constraints.md
branches/ibm/pcrel-trunk/gcc/config/rs6000/predicates.md
branches/ibm/pcrel-trunk/gcc/config/rs6000/rs6000-protos.h
branches/ibm/pcrel-trunk/gcc/config/rs6000/rs6000.c
branches/ibm/pcrel-trunk/gcc/config/rs6000/vsx.md
branches/ibm/pcrel-trunk/gcc/doc/md.texi