From 6c18efd4e20b8af2e625334c6d58e12decebf62b Mon Sep 17 00:00:00 2001 From: Matthew Fortune Date: Thu, 30 Mar 2017 22:47:38 +0000 Subject: [PATCH] Fix ICE when expanding MSA constant vectors with replicated values gcc/ * config/mips/mips.c (mips_expand_vector_init): Create a const_vector to initialise a vector register instead of using a const_int. From-SVN: r246601 --- gcc/ChangeLog | 6 ++++++ gcc/config/mips/mips.c | 5 +++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 18effd76ad6..6eb56f5db7c 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2017-03-30 Matthew Fortune + + * config/mips/mips.c (mips_expand_vector_init): Create a const_vector + to initialise a vector register instead + of using a const_int. + 2017-03-30 Jakub Jelinek PR translation/80189 diff --git a/gcc/config/mips/mips.c b/gcc/config/mips/mips.c index d1deb523a1e..dadfcc431fe 100644 --- a/gcc/config/mips/mips.c +++ b/gcc/config/mips/mips.c @@ -21757,11 +21757,12 @@ mips_expand_vector_init (rtx target, rtx vals) case V8HImode: case V4SImode: case V2DImode: - emit_move_insn (target, same); + temp = gen_rtx_CONST_VECTOR (vmode, XVEC (vals, 0)); + emit_move_insn (target, temp); return; default: - break; + gcc_unreachable (); } } temp = gen_reg_rtx (imode); -- 2.30.2