From f73ee211c30c292316ffa6f55eca3531c67a4de7 Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Thu, 1 Dec 2016 17:44:04 +1030 Subject: [PATCH] [RS6000] fix rtl-checking internal compiler error * gcc/config/rs6000/rs6000.c (insn_is_swappable_p): Properly look inside UNSPEC_VSX_XXSPLTW vec. From-SVN: r243097 --- gcc/ChangeLog | 5 +++++ gcc/config/rs6000/rs6000.c | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index e2f7b25e9be..e36f9d849ff 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2016-12-01 Alan Modra + + * gcc/config/rs6000/rs6000.c (insn_is_swappable_p): Properly + look inside UNSPEC_VSX_XXSPLTW vec. + 2016-12-01 Segher Boessenkool PR rtl-optimization/78607 diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c index 9fe98b7dd6a..7f307b1ff0f 100644 --- a/gcc/config/rs6000/rs6000.c +++ b/gcc/config/rs6000/rs6000.c @@ -40675,7 +40675,7 @@ insn_is_swappable_p (swap_web_entry *insn_entry, rtx insn, if (GET_CODE (use_body) != SET || GET_CODE (SET_SRC (use_body)) != UNSPEC || XINT (SET_SRC (use_body), 1) != UNSPEC_VSX_XXSPLTW - || XEXP (XEXP (SET_SRC (use_body), 0), 1) != const0_rtx) + || XVECEXP (SET_SRC (use_body), 0, 1) != const0_rtx) return 0; } } -- 2.30.2