On Wed, Oct 10, 2018 at 10:48 AM Jakub Jelinek <ja...@redhat.com> wrote:
>
> On Fri, Oct 05, 2018 at 06:49:58PM +0200, Uros Bizjak wrote:
> > This constraint is used in move patterns which do not depend on TARGET_SSE.
> >
> > Also, rename "vector_move_operand" to "nonimm_or_0_operand".
> >
> > 2018-10-05  Uros Bizjak  <ubiz...@gmail.com>
> >
> >     * config/i386/constraints.md ("C"): Do not depend on TARGET_SSE.
> >     * config/i386/predicates.md (nonimm_or_0_operand): Rename
> >     from vector_move_operand.  Update all uses.
> >
> > Bootstrapped and regression tested on x86_64-linux-gnu {,-m32}.
> >
> > Committed to mainline SVN.
>
> This seems to have broken a bunch of tests for 32-bit gcc not configured to
> default to -msse/-msse2, guess it should be reproduceable with
> make check-gcc RUNTESTFLAGS='--target_board=unix/-m32/-mno-sse i386.exp'
>
> +FAIL: gcc.target/i386/3dnow-1.c (internal compiler error)
> +FAIL: gcc.target/i386/3dnow-1.c (test for excess errors)
> +FAIL: gcc.target/i386/mmx-8.c (internal compiler error)
> +FAIL: gcc.target/i386/mmx-8.c (test for excess errors)
> +UNRESOLVED: gcc.target/i386/mmx-8.c compilation failed to produce executable
> +FAIL: gcc.target/i386/pr14552.c (internal compiler error)
> +FAIL: gcc.target/i386/pr14552.c (test for excess errors)
> +UNRESOLVED: gcc.target/i386/pr14552.c scan-assembler-not %mm
>
> The ICEs are always similar:
> error: could not split insn
> (insn:TI 7 30 21 2 (set (mem/c:V2SF (plus:SI (reg/f:SI 7 sp)
>                 (const_int 8 [0x8])) [0  S8 A64])
>         (const_vector:V2SF [
>                 (const_double:SF 0.0 [0x0.0p+0])
>                 (const_double:SF 0.0 [0x0.0p+0])
>             ])) "/home/jakub/src/gcc/obj27/gcc/include/mm3dnow.h":172:39 835 
> {*movv2sf_internal}
>      (nil))

The patch for PR87573 [1] should fix all these ICEs.

[1] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87573#c2

Uros.

Reply via email to