diff options
author | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-01-01 14:13:44 +0000 |
---|---|---|
committer | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-01-01 14:13:44 +0000 |
commit | b8d2bcdd743853cfef58c1c0d7ee7f518c098416 (patch) | |
tree | 366fcb1b6390ba0ac365092bc3e6aee1326879fc /gcc/optabs.h | |
parent | 99cf25d08b422ccf718a05f484e1be90f533ab63 (diff) | |
download | gcc-b8d2bcdd743853cfef58c1c0d7ee7f518c098416.tar.gz |
* 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
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@75304 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/optabs.h')
-rw-r--r-- | gcc/optabs.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/gcc/optabs.h b/gcc/optabs.h index 20d5df60cd4..a85ce3035cb 100644 --- a/gcc/optabs.h +++ b/gcc/optabs.h @@ -197,6 +197,13 @@ enum optab_index /* Conditional add instruction. */ OTI_addcc, + /* Set specified field of vector operand. */ + OTI_vec_set, + /* Extract specified field of vector operand. */ + OTI_vec_extract, + /* Initialize vector operand. */ + OTI_vec_init, + OTI_MAX }; @@ -281,6 +288,10 @@ extern GTY(()) optab optab_table[OTI_MAX]; #define push_optab (optab_table[OTI_push]) #define addcc_optab (optab_table[OTI_addcc]) +#define vec_set_optab (optab_table[OTI_vec_set]) +#define vec_extract_optab (optab_table[OTI_vec_extract]) +#define vec_init_optab (optab_table[OTI_vec_init]) + /* Conversion optabs have their own table and indexes. */ enum convert_optab_index { |