i386: Add tests for MMX intrinsic emulations with SSE
authorH.J. Lu <hongjiu.lu@intel.com>
Wed, 15 May 2019 15:39:38 +0000 (15:39 +0000)
committerH.J. Lu <hjl@gcc.gnu.org>
Wed, 15 May 2019 15:39:38 +0000 (08:39 -0700)
commitdc90cc8c23f1e18f67e8f4d4a6da41bf6a04a147
treeceeaff0b05483c0f02544dec6b7f44d02716a925
parent0cfa5d9c595bc2566e0030ea30a9cfd83652e046
i386: Add tests for MMX intrinsic emulations with SSE

Test MMX intrinsics with -msse2 in 32-bit mode and -msse2 -mno-mmx in
64-bit mode.

PR target/89021
* gcc.target/i386/mmx-vals.h: New file.
* gcc.target/i386/sse2-mmx-2.c: Likewise.
* gcc.target/i386/sse2-mmx-3.c: Likewise.
* gcc.target/i386/sse2-mmx-4.c: Likewise.
* gcc.target/i386/sse2-mmx-5.c: Likewise.
* gcc.target/i386/sse2-mmx-6.c: Likewise.
* gcc.target/i386/sse2-mmx-7.c: Likewise.
* gcc.target/i386/sse2-mmx-8.c: Likewise.
* gcc.target/i386/sse2-mmx-9.c: Likewise.
* gcc.target/i386/sse2-mmx-10.c: Likewise.
* gcc.target/i386/sse2-mmx-11.c: Likewise.
* gcc.target/i386/sse2-mmx-12.c: Likewise.
* gcc.target/i386/sse2-mmx-13.c: Likewise.
* gcc.target/i386/sse2-mmx-14.c: Likewise.
* gcc.target/i386/sse2-mmx-15.c: Likewise.
* gcc.target/i386/sse2-mmx-16.c: Likewise.
* gcc.target/i386/sse2-mmx-17.c: Likewise.
* gcc.target/i386/sse2-mmx-18a.c: Likewise.
* gcc.target/i386/sse2-mmx-18b.c: Likewise.
* gcc.target/i386/sse2-mmx-18c.c: Likewise.
* gcc.target/i386/sse2-mmx-19a.c: Likewise.
* gcc.target/i386/sse2-mmx-18b.c: Likewise.
* gcc.target/i386/sse2-mmx-19c.c: Likewise.
* gcc.target/i386/sse2-mmx-19d.c: Likewise.
* gcc.target/i386/sse2-mmx-19e.c: Likewise.
* gcc.target/i386/sse2-mmx-20.c: Likewise.
* gcc.target/i386/sse2-mmx-21.c: Likewise.
* gcc.target/i386/sse2-mmx-22.c: Likewise.
* gcc.target/i386/sse2-mmx-cvtpi2ps.c: Likewise.
* gcc.target/i386/sse2-mmx-cvtps2pi.c: Likewise.
* gcc.target/i386/sse2-mmx-cvttps2pi.c: Likewise.
* gcc.target/i386/sse2-mmx-maskmovq.c: Likewise.
* gcc.target/i386/sse2-mmx-packssdw.c: Likewise.
* gcc.target/i386/sse2-mmx-packsswb.c: Likewise.
* gcc.target/i386/sse2-mmx-packuswb.c: Likewise.
* gcc.target/i386/sse2-mmx-paddb.c: Likewise.
* gcc.target/i386/sse2-mmx-paddd.c: Likewise.
* gcc.target/i386/sse2-mmx-paddq.c: Likewise.
* gcc.target/i386/sse2-mmx-paddsb.c: Likewise.
* gcc.target/i386/sse2-mmx-paddsw.c: Likewise.
* gcc.target/i386/sse2-mmx-paddusb.c: Likewise.
* gcc.target/i386/sse2-mmx-paddusw.c: Likewise.
* gcc.target/i386/sse2-mmx-paddw.c: Likewise.
* gcc.target/i386/sse2-mmx-pand.c: Likewise.
* gcc.target/i386/sse2-mmx-pandn.c: Likewise.
* gcc.target/i386/sse2-mmx-pavgb.c: Likewise.
* gcc.target/i386/sse2-mmx-pavgw.c: Likewise.
* gcc.target/i386/sse2-mmx-pcmpeqb.c: Likewise.
* gcc.target/i386/sse2-mmx-pcmpeqd.c: Likewise.
* gcc.target/i386/sse2-mmx-pcmpeqw.c: Likewise.
* gcc.target/i386/sse2-mmx-pcmpgtb.c: Likewise.
* gcc.target/i386/sse2-mmx-pcmpgtd.c: Likewise.
* gcc.target/i386/sse2-mmx-pcmpgtw.c: Likewise.
* gcc.target/i386/sse2-mmx-pextrw.c: Likewise.
* gcc.target/i386/sse2-mmx-pinsrw.c: Likewise.
* gcc.target/i386/sse2-mmx-pmaddwd.c: Likewise.
* gcc.target/i386/sse2-mmx-pmaxsw.c: Likewise.
* gcc.target/i386/sse2-mmx-pmaxub.c: Likewise.
* gcc.target/i386/sse2-mmx-pminsw.c: Likewise.
* gcc.target/i386/sse2-mmx-pminub.c: Likewise.
* gcc.target/i386/sse2-mmx-pmovmskb.c: Likewise.
* gcc.target/i386/sse2-mmx-pmulhuw.c: Likewise.
* gcc.target/i386/sse2-mmx-pmulhw.c: Likewise.
* gcc.target/i386/sse2-mmx-pmullw.c: Likewise.
* gcc.target/i386/sse2-mmx-pmuludq.c: Likewise.
* gcc.target/i386/sse2-mmx-por.c: Likewise.
* gcc.target/i386/sse2-mmx-psadbw.c: Likewise.
* gcc.target/i386/sse2-mmx-pshufw.c: Likewise.
* gcc.target/i386/sse2-mmx-pslld.c: Likewise.
* gcc.target/i386/sse2-mmx-pslldi.c: Likewise.
* gcc.target/i386/sse2-mmx-psllq.c: Likewise.
* gcc.target/i386/sse2-mmx-psllqi.c: Likewise.
* gcc.target/i386/sse2-mmx-psllw.c: Likewise.
* gcc.target/i386/sse2-mmx-psllwi.c: Likewise.
* gcc.target/i386/sse2-mmx-psrad.c: Likewise.
* gcc.target/i386/sse2-mmx-psradi.c: Likewise.
* gcc.target/i386/sse2-mmx-psraw.c: Likewise.
* gcc.target/i386/sse2-mmx-psrawi.c: Likewise.
* gcc.target/i386/sse2-mmx-psrld.c: Likewise.
* gcc.target/i386/sse2-mmx-psrldi.c: Likewise.
* gcc.target/i386/sse2-mmx-psrlq.c: Likewise.
* gcc.target/i386/sse2-mmx-psrlqi.c: Likewise.
* gcc.target/i386/sse2-mmx-psrlw.c: Likewise.
* gcc.target/i386/sse2-mmx-psrlwi.c: Likewise.
* gcc.target/i386/sse2-mmx-psubb.c: Likewise.
* gcc.target/i386/sse2-mmx-psubd.c: Likewise.
* gcc.target/i386/sse2-mmx-psubq.c: Likewise.
* gcc.target/i386/sse2-mmx-psubusb.c: Likewise.
* gcc.target/i386/sse2-mmx-psubusw.c: Likewise.
* gcc.target/i386/sse2-mmx-psubw.c: Likewise.
* gcc.target/i386/sse2-mmx-punpckhbw.c: Likewise.
* gcc.target/i386/sse2-mmx-punpckhdq.c: Likewise.
* gcc.target/i386/sse2-mmx-punpckhwd.c: Likewise.
* gcc.target/i386/sse2-mmx-punpcklbw.c: Likewise.
* gcc.target/i386/sse2-mmx-punpckldq.c: Likewise.
* gcc.target/i386/sse2-mmx-punpcklwd.c: Likewise.
* gcc.target/i386/sse2-mmx-pxor.c: Likewise.

From-SVN: r271254
98 files changed:
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/i386/mmx-vals.h [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/sse2-mmx-10.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/sse2-mmx-11.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/sse2-mmx-12.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/sse2-mmx-13.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/sse2-mmx-14.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/sse2-mmx-15.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/sse2-mmx-16.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/sse2-mmx-17.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/sse2-mmx-18a.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/sse2-mmx-18b.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/sse2-mmx-18c.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/sse2-mmx-19a.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/sse2-mmx-19b.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/sse2-mmx-19c.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/sse2-mmx-19d.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/sse2-mmx-19e.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/sse2-mmx-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/sse2-mmx-20.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/sse2-mmx-21.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/sse2-mmx-22.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/sse2-mmx-3.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/sse2-mmx-4.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/sse2-mmx-5.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/sse2-mmx-6.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/sse2-mmx-7.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/sse2-mmx-8.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/sse2-mmx-9.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/sse2-mmx-cvtpi2ps.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/sse2-mmx-cvtps2pi.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/sse2-mmx-cvttps2pi.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/sse2-mmx-maskmovq.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/sse2-mmx-packssdw.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/sse2-mmx-packsswb.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/sse2-mmx-packuswb.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/sse2-mmx-paddb.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/sse2-mmx-paddd.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/sse2-mmx-paddq.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/sse2-mmx-paddsb.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/sse2-mmx-paddsw.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/sse2-mmx-paddusb.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/sse2-mmx-paddusw.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/sse2-mmx-paddw.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/sse2-mmx-pand.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/sse2-mmx-pandn.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/sse2-mmx-pavgb.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/sse2-mmx-pavgw.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/sse2-mmx-pcmpeqb.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/sse2-mmx-pcmpeqd.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/sse2-mmx-pcmpeqw.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/sse2-mmx-pcmpgtb.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/sse2-mmx-pcmpgtd.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/sse2-mmx-pcmpgtw.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/sse2-mmx-pextrw.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/sse2-mmx-pinsrw.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/sse2-mmx-pmaddwd.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/sse2-mmx-pmaxsw.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/sse2-mmx-pmaxub.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/sse2-mmx-pminsw.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/sse2-mmx-pminub.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/sse2-mmx-pmovmskb.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/sse2-mmx-pmulhuw.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/sse2-mmx-pmulhw.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/sse2-mmx-pmullw.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/sse2-mmx-pmuludq.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/sse2-mmx-por.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/sse2-mmx-psadbw.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/sse2-mmx-pshufw.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/sse2-mmx-pslld.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/sse2-mmx-pslldi.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/sse2-mmx-psllq.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/sse2-mmx-psllqi.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/sse2-mmx-psllw.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/sse2-mmx-psllwi.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/sse2-mmx-psrad.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/sse2-mmx-psradi.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/sse2-mmx-psraw.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/sse2-mmx-psrawi.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/sse2-mmx-psrld.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/sse2-mmx-psrldi.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/sse2-mmx-psrlq.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/sse2-mmx-psrlqi.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/sse2-mmx-psrlw.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/sse2-mmx-psrlwi.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/sse2-mmx-psubb.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/sse2-mmx-psubd.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/sse2-mmx-psubq.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/sse2-mmx-psubusb.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/sse2-mmx-psubusw.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/sse2-mmx-psubw.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/sse2-mmx-punpckhbw.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/sse2-mmx-punpckhdq.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/sse2-mmx-punpckhwd.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/sse2-mmx-punpcklbw.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/sse2-mmx-punpckldq.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/sse2-mmx-punpcklwd.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/sse2-mmx-pxor.c [new file with mode: 0644]