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/config/i386/emmintrin.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/config/i386/emmintrin.h')
-rw-r--r-- | gcc/config/i386/emmintrin.h | 10 |
1 files changed, 1 insertions, 9 deletions
diff --git a/gcc/config/i386/emmintrin.h b/gcc/config/i386/emmintrin.h index 3618c2bfaaa..a7dbc6785cb 100644 --- a/gcc/config/i386/emmintrin.h +++ b/gcc/config/i386/emmintrin.h @@ -115,15 +115,7 @@ _mm_set_pd1 (double __F) static __inline __m128d _mm_set_pd (double __Z, double __Y) { - union { - double __a[2]; - __m128d __v; - } __u; - - __u.__a[0] = __Y; - __u.__a[1] = __Z; - - return __u.__v; + return (__v2df) {__Y, __Z}; } /* Create the vector [Y Z]. */ |