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/optabs.h | |
parent | b684a3df8e33898816611f1cefbd0068ca22beca (diff) | |
download | gcc-997404de62431a850da6b05e228614a004549705.zip gcc-997404de62431a850da6b05e228614a004549705.tar.gz gcc-997404de62431a850da6b05e228614a004549705.tar.bz2 |
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/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 20d5df6..a85ce30 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 { |