http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48678
--- Comment #15 from uros at gcc dot gnu.org 2011-04-20 19:58:27 UTC --- Author: uros Date: Wed Apr 20 19:58:23 2011 New Revision: 172792 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=172792 Log: PR target/48678 * config/i386/i386.md (insv): Change operand 0 constraint to "register_operand". Change operand 1 and 2 constraint to "const_int_operand". Expand to pinsr{b,w,d,q} * when appropriate. * config/i386/sse.md (sse4_1_pinsrb): Export. (sse2_pinsrw): Ditto. (sse4_1_pinsrd): Ditto. (sse4_1_pinsrq): Ditto. * config/i386/i386-protos.h (ix86_expand_pinsr): Add prototype. * config/i386/i386.c (ix86_expand_pinsr): New. testsuite/ChangeLog: PR target/48678 * gcc.target/i386/sse2-pinsrw.c: New test. * gcc.target/i386/avx-vpinsrw.c: Ditto. * gcc.target/i386/sse4_1-insvqi.c: Ditto. * gcc.target/i386/sse2-insvhi.c: Ditto. * gcc.target/i386/sse4_1-insvsi.c: Ditto. * gcc.target/i386/sse4_1-insvdi.c: Ditto. Added: trunk/gcc/testsuite/gcc.target/i386/avx-vpinsrw-1.c trunk/gcc/testsuite/gcc.target/i386/sse2-insvhi.c trunk/gcc/testsuite/gcc.target/i386/sse2-pinsrw.c trunk/gcc/testsuite/gcc.target/i386/sse4_1-insvdi.c trunk/gcc/testsuite/gcc.target/i386/sse4_1-insvqi.c trunk/gcc/testsuite/gcc.target/i386/sse4_1-insvsi.c Modified: trunk/gcc/ChangeLog trunk/gcc/config/i386/i386-protos.h trunk/gcc/config/i386/i386.c trunk/gcc/config/i386/i386.md trunk/gcc/config/i386/sse.md trunk/gcc/testsuite/ChangeLog