aboutsummaryrefslogtreecommitdiff
path: root/gcc/optabs.h
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2004-01-01 15:13:44 +0100
committerJan Hubicka <hubicka@gcc.gnu.org>2004-01-01 14:13:44 +0000
commit997404de62431a850da6b05e228614a004549705 (patch)
tree366fcb1b6390ba0ac365092bc3e6aee1326879fc /gcc/optabs.h
parentb684a3df8e33898816611f1cefbd0068ca22beca (diff)
downloadgcc-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.h11
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
{