diff options
author | uros <uros@138bc75d-0d04-0410-961f-82ee72b054a4> | 2015-07-15 22:20:17 +0000 |
---|---|---|
committer | uros <uros@138bc75d-0d04-0410-961f-82ee72b054a4> | 2015-07-15 22:20:17 +0000 |
commit | 02d55a7f738744d71a253d010f8e5ae15760bb16 (patch) | |
tree | 8768a99f04c1798812178ec21dc41147b6aeb533 /gcc/config/i386/i386-protos.h | |
parent | 85434c26a968b557c452b568762e432dd3fdf66c (diff) | |
download | gcc-02d55a7f738744d71a253d010f8e5ae15760bb16.tar.gz |
PR target/66866
* config/i386/i386-protos.h (ix86_expand_pextr): New prototype.
* config/i386/i386.c (ix86_expand_pextr): New function.
(ix86_expand_pinsr): Handle V1TI and TI modes. Call ix86_expand_pextr
for non-lowpart subregs.
* config/i386/i386.md (extzv<mode>): Expand with ix86_expand_pextr.
(insv<mode>): Use SWI248 mode iterator.
(insv<mode>_1): Ditto.
testsuite/ChangeLog:
PR target/66866
* g++.dg/pr66866.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225852 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/i386/i386-protos.h')
-rw-r--r-- | gcc/config/i386/i386-protos.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/config/i386/i386-protos.h b/gcc/config/i386/i386-protos.h index 0224c362e97..6a17ef40a2e 100644 --- a/gcc/config/i386/i386-protos.h +++ b/gcc/config/i386/i386-protos.h @@ -223,6 +223,7 @@ extern void ix86_expand_vector_extract (bool, rtx, rtx, int); extern void ix86_expand_reduc (rtx (*)(rtx, rtx, rtx), rtx, rtx); extern void ix86_expand_vec_extract_even_odd (rtx, rtx, rtx, unsigned); +extern bool ix86_expand_pextr (rtx *); extern bool ix86_expand_pinsr (rtx *); extern void ix86_expand_mul_widen_evenodd (rtx, rtx, rtx, bool, bool); extern void ix86_expand_mul_widen_hilo (rtx, rtx, rtx, bool, bool); |