This patch is to fix some non-robust split conditions in some define_insn_and_splits, to make each of them applied on top of the corresponding condition for define_insn part, otherwise the splitting could perform unexpectedly.
gcc/ChangeLog: * config/ia64/vect.md (*vec_extractv2sf_0_le, *vec_extractv2sf_0_be): Fix split condition. --- gcc/config/ia64/vect.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gcc/config/ia64/vect.md b/gcc/config/ia64/vect.md index 1a2452289b7..0f3a406d620 100644 --- a/gcc/config/ia64/vect.md +++ b/gcc/config/ia64/vect.md @@ -1422,7 +1422,7 @@ (define_insn_and_split "*vec_extractv2sf_0_le" UNSPEC_VECT_EXTR))] "!TARGET_BIG_ENDIAN" "#" - "reload_completed" + "&& reload_completed" [(set (match_dup 0) (match_dup 1))] { if (REG_P (operands[1]) && FR_REGNO_P (REGNO (operands[1]))) @@ -1440,7 +1440,7 @@ (define_insn_and_split "*vec_extractv2sf_0_be" UNSPEC_VECT_EXTR))] "TARGET_BIG_ENDIAN" "#" - "reload_completed" + "&& reload_completed" [(set (match_dup 0) (match_dup 1))] { if (MEM_P (operands[1])) -- 2.27.0