[RS6000] fix rtl-checking internal compiler error
authorAlan Modra <amodra@gmail.com>
Thu, 1 Dec 2016 07:14:04 +0000 (17:44 +1030)
committerAlan Modra <amodra@gcc.gnu.org>
Thu, 1 Dec 2016 07:14:04 +0000 (17:44 +1030)
* gcc/config/rs6000/rs6000.c (insn_is_swappable_p): Properly
look inside UNSPEC_VSX_XXSPLTW vec.

From-SVN: r243097

gcc/ChangeLog
gcc/config/rs6000/rs6000.c

index e2f7b25e9be3e4055b09dc67858d80fa0c508d15..e36f9d849ff248ce11b6f024021ff6006e83ef0a 100644 (file)
@@ -1,3 +1,8 @@
+2016-12-01  Alan Modra  <amodra@gmail.com>
+
+       * gcc/config/rs6000/rs6000.c (insn_is_swappable_p): Properly
+       look inside UNSPEC_VSX_XXSPLTW vec.
+
 2016-12-01  Segher Boessenkool  <segher@kernel.crashing.org>
 
        PR rtl-optimization/78607
index 9fe98b7dd6ab2ec93ae488ec95c97d0d7a8bcd5a..7f307b1ff0f9a65c31faf9bfa7bb1dec48bc0c15 100644 (file)
@@ -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;
          }
        }