[Bug target/24953] RTL check: access of elt 1 of vector with last elt 0 in vrsave_operation_1, at config/rs6000/predicates.md:1041
--- Comment #3 from dje at gcc dot gnu dot org 2005-11-21 16:12 --- Subject: Bug 24953 Author: dje Date: Mon Nov 21 16:12:32 2005 New Revision: 107311 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=107311 Log: PR target/24953 * config/rs6000/predicates.md (vrsave_operation): Check UNSPEC_VOLATILE value. Modified: trunk/gcc/ChangeLog trunk/gcc/config/rs6000/predicates.md -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24953
[Bug target/24953] RTL check: access of elt 1 of vector with last elt 0 in vrsave_operation_1, at config/rs6000/predicates.md:1041
--- Comment #4 from dje at gcc dot gnu dot org 2005-11-21 18:04 --- Subject: Bug 24953 Author: dje Date: Mon Nov 21 18:04:14 2005 New Revision: 107314 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=107314 Log: PR target/24953 * config/rs6000/predicates.md (vrsave_operation): Check UNSPEC_VOLATILE value. Modified: branches/gcc-4_1-branch/gcc/ChangeLog branches/gcc-4_1-branch/gcc/config/rs6000/predicates.md -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24953
[Bug target/24953] RTL check: access of elt 1 of vector with last elt 0 in vrsave_operation_1, at config/rs6000/predicates.md:1041
--- Comment #1 from dje at gcc dot gnu dot org 2005-11-21 02:09 --- We just need to check that we have enough elts in the VEC. -- dje at gcc dot gnu dot org changed: What|Removed |Added AssignedTo|unassigned at gcc dot gnu |dje at gcc dot gnu dot org |dot org | Status|UNCONFIRMED |ASSIGNED Ever Confirmed|0 |1 Last reconfirmed|-00-00 00:00:00 |2005-11-21 02:09:57 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24953
[Bug target/24953] RTL check: access of elt 1 of vector with last elt 0 in vrsave_operation_1, at config/rs6000/predicates.md:1041
--- Comment #2 from dje at gcc dot gnu dot org 2005-11-21 02:54 --- Index: predicates.md === I think the following patch fixes the checking failure. I will bootstrap overnight. --- predicates.md (revision 107244) +++ predicates.md (working copy) @@ -1034,7 +1034,8 @@ if (count = 1 || GET_CODE (XVECEXP (op, 0, 0)) != SET || GET_CODE (SET_DEST (XVECEXP (op, 0, 0))) != REG - || GET_CODE (SET_SRC (XVECEXP (op, 0, 0))) != UNSPEC_VOLATILE) + || GET_CODE (SET_SRC (XVECEXP (op, 0, 0))) != UNSPEC_VOLATILE + || XVECLEN (SET_SRC (XVECEXP (op, 0, 0)), 0) = 1) return 0; -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24953