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 <[email protected]>
>
> * 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))
Jakub