OSDN Git Service

PR target/48678
authoruros <uros@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 20 Apr 2011 19:58:23 +0000 (19:58 +0000)
committeruros <uros@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 20 Apr 2011 19:58:23 +0000 (19:58 +0000)
commitbd4b3ce44ccbb60a524cd874f02a002b87c3e4c3
tree46d79f57ef007919fad0f34cd4bd91fc42100728
parent85648982c415fb36265352dd17da9cd55e657f83
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172792 138bc75d-0d04-0410-961f-82ee72b054a4
12 files changed:
gcc/ChangeLog
gcc/config/i386/i386-protos.h
gcc/config/i386/i386.c
gcc/config/i386/i386.md
gcc/config/i386/sse.md
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/i386/avx-vpinsrw-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/sse2-insvhi.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/sse2-pinsrw.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/sse4_1-insvdi.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/sse4_1-insvqi.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/sse4_1-insvsi.c [new file with mode: 0644]