https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89021

--- Comment #46 from hjl at gcc dot gnu.org <hjl at gcc dot gnu.org> ---
Author: hjl
Date: Wed May 15 15:39:38 2019
New Revision: 271254

URL: https://gcc.gnu.org/viewcvs?rev=271254&root=gcc&view=rev
Log:
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.

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

Reply via email to