diff --git a/gcc/ChangeLog b/gcc/ChangeLog index e2f7b25e9be3e4055b09dc67858d80fa0c508d15..e36f9d849ff248ce11b6f024021ff6006e83ef0a 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -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 diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c index 9fe98b7dd6ab2ec93ae488ec95c97d0d7a8bcd5a..7f307b1ff0f9a65c31faf9bfa7bb1dec48bc0c15 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; } }