diff options
author | Jan Hubicka <jh@suse.cz> | 2004-01-01 15:13:44 +0100 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2004-01-01 14:13:44 +0000 |
commit | 997404de62431a850da6b05e228614a004549705 (patch) | |
tree | 366fcb1b6390ba0ac365092bc3e6aee1326879fc /gcc/genopinit.c | |
parent | b684a3df8e33898816611f1cefbd0068ca22beca (diff) | |
download | gcc-997404de62431a850da6b05e228614a004549705.tar.gz |
expmed.c (store_bit_field, [...]): Use new named patterns
* expmed.c (store_bit_field, extract_bit_field): Use new named patterns
* expr.c (store_constructor): Use vec_init pattern.
* genopinit.c (optabs): Initailize vec_set/vec_extract/vec_init.
* optabs.h (optab_index): ADD OTI_vec_set/OTI_vec_extract/OTI_vec_init
(vec_set_optab, vec_extract_optab, vec_init_optab): New.
* i386.md (vec_setv2df, vec_extractv2df, vec_setv4sf, vec_extractv4sf):
New patterns.
(sse2_unpc?pd): Fix pattern.
(sse2_movlpd): Kill.
(sse2_movsd): Deal with movlpd too.
* i386.c (ix86_expand_builtin): Use sse2_movsd instead of sse2_movlpd.
(ix86_expand_vector_init): New.
* emmintrin.h (__mm_set_pd, __mm_set_ps): Use vector extensions.
* md.texi (vec_set, vec_extract): Document
From-SVN: r75304
Diffstat (limited to 'gcc/genopinit.c')
-rw-r--r-- | gcc/genopinit.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/gcc/genopinit.c b/gcc/genopinit.c index 2dc59f5bacc..8f309f43836 100644 --- a/gcc/genopinit.c +++ b/gcc/genopinit.c @@ -152,7 +152,10 @@ static const char * const optabs[] = "movstr_optab[$A] = CODE_FOR_$(movstr$a$)", "clrstr_optab[$A] = CODE_FOR_$(clrstr$a$)", "cmpstr_optab[$A] = CODE_FOR_$(cmpstr$a$)", - "cmpmem_optab[$A] = CODE_FOR_$(cmpmem$a$)" }; + "cmpmem_optab[$A] = CODE_FOR_$(cmpmem$a$)", + "vec_set_optab->handlers[$A].insn_code = CODE_FOR_$(vec_set$a$)", + "vec_extract_optab->handlers[$A].insn_code = CODE_FOR_$(vec_extract$a$)", + "vec_init_optab->handlers[$A].insn_code = CODE_FOR_$(vec_init$a$)" }; static void gen_insn (rtx); |