On Fri, Dec 08, 2023 at 03:12:00PM +0800, liuhongt wrote: > Bootstrapped and regtested on x86_64-pc-linux-gnu{-m32,}. > Ready push to trunk. > > gcc/ChangeLog: > > PR target/112904 > * config/i386/mmx.md (*xop_pcmov_<mode>): New define_insn. > > gcc/testsuite/ChangeLog: > > * g++.target/i386/pr112904.C: New test.
The new test FAILs on i686-linux and even on x86_64-linux I think it doesn't actually test what was reported, unless one performs testing with -march= for some XOP enabled CPU or -mxop. The following patch fixes that, tested on x86_64-linux with make check-g++ RUNTESTFLAGS='--target_board=unix\{-m32,-m32/-mno-sse/-mno-mmx,-m64\} i386.exp=pr112904.C' Ok for trunk? 2023-12-13 Jakub Jelinek <ja...@redhat.com> * g++.target/i386/pr112904.C: Add dg-do compile, dg-options -mxop and for ia32 also dg-additional-options -mmmx. --- gcc/testsuite/g++.target/i386/pr112904.C.jj 2023-12-11 08:31:59.001938798 +0100 +++ gcc/testsuite/g++.target/i386/pr112904.C 2023-12-13 12:54:50.318521637 +0100 @@ -1,3 +1,8 @@ +// PR target/112904 +// { dg-do compile } +// { dg-options "-mxop" } +// { dg-additional-options "-mmmx" { target ia32 } } + typedef _Float16 v4hf __attribute__((vector_size(8))); typedef short v4hi __attribute__((vector_size(8))); typedef _Float16 v2hf __attribute__((vector_size(4))); Jakub