This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
On Thu, Sep 08, 2005 at 05:46:40PM -0700, Dale Johannesen wrote:...- return _mm_set_epi8 (__A, __A, __A, __A, __A, __A, __A, __A, - __A, __A, __A, __A, __A, __A, __A, __A);+ __m128i temp, temp2, temp3, temp4; + temp = _mm_cvtsi32_si128 ((int)__A); + temp2 = _mm_unpacklo_epi8 (temp, temp); + temp3 = _mm_unpacklo_epi8 (temp2, temp2); + temp4 = _mm_shuffle_epi32 (temp3, 0);
Not ok.
If you don't like the code generated by ix86_expand_vector_init_duplicate,
you should fix it rather than avoiding it.
Something like this? I did not test this but I get the same code gen as what the above would get. Also I cannot really test this fully.
Thanks, Andrew Pinski
Attachment:
t.diff.txt
Description: Text document
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |