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)) Jakub