diff options
Diffstat (limited to 'gcc/testsuite/gcc.target/i386/pr13366.c')
-rw-r--r-- | gcc/testsuite/gcc.target/i386/pr13366.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.target/i386/pr13366.c b/gcc/testsuite/gcc.target/i386/pr13366.c new file mode 100644 index 000000000..f0dce0b24 --- /dev/null +++ b/gcc/testsuite/gcc.target/i386/pr13366.c @@ -0,0 +1,13 @@ +/* { dg-do compile } */ +/* { dg-options "-O -msse" } */ + +#include <xmmintrin.h> + +typedef unsigned short v4hi __attribute__ ((vector_size (8))); + +int f(unsigned short n) +{ + __m64 vec = (__m64)(v4hi){ 0, 0, 1, n }; + __m64 hw = _mm_mulhi_pi16 (vec, vec); + return _mm_extract_pi16 (hw, 0); +} |