This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug rtl-optimization/82058] ICE in process_alt_operands, at lra-constraints.c:2954 (after adding early clobber in .md)
- From: "vries at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Thu, 31 Aug 2017 11:59:30 +0000
- Subject: [Bug rtl-optimization/82058] ICE in process_alt_operands, at lra-constraints.c:2954 (after adding early clobber in .md)
- Auto-submitted: auto-generated
- References: <bug-82058-4@http.gcc.gnu.org/bugzilla/>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82058
--- Comment #2 from Tom de Vries <vries at gcc dot gnu.org> ---
(In reply to Tom de Vries from comment #0)
> At r251537, with this patch:
> ...
> diff --git a/gcc/config/i386/sse.md b/gcc/config/i386/sse.md
> index d61afcf..a42358d 100644
> --- a/gcc/config/i386/sse.md
> +++ b/gcc/config/i386/sse.md
> @@ -1741,7 +1741,7 @@
> (set_attr "mode" "<MODE>")])
>
> (define_insn "srcp14<mode>_mask"
> - [(set (match_operand:VF_128 0 "register_operand" "=v")
> + [(set (match_operand:VF_128 0 "register_operand" "=&v")
> (vec_merge:VF_128
> (vec_merge:VF_128
> (unspec:VF_128
> ...
>
Written to make it easy to reproduce an ICE encountered for target gcn on
branch gcn for this insn from gcn-valu.md:
...
(define_insn "*mov<mode>"
[(set (match_operand:VEC_2REG_MODE 0 "register_operand" "=&v")
(vec_merge:VEC_2REG_MODE
(match_operand:VEC_2REG_MODE 1 "gcn_alu_operand" "0vB")
(match_operand:VEC_2REG_MODE 3 "gcn_register_or_unspec_operand"
"0U")
(match_operand:DI 2 "gcn_exec_reg_operand" "e")))]
"!memory_operand (operands[0], VOIDmode) || register_operand (operands[1],
VOIDmode)"
"v_mov_b32\t%L0, %L1\n\tv_mov_b32\t%H0, %H1"
[(set_attr "type" "vop1")
(set_attr "mode" "<MODE>")])
...