Commit 95d34b96 by Kirill Yukhin Committed by Kirill Yukhin

re PR target/70453 (gcc generates invalid instruction vextractu64x4 (should be: vextracti64x4))

Fix PR target/70453.

gcc/
	* config/i386/sse.md (define_mode_attr shuffletype): Fix typo.

gcc/testsuite/
	* gcc.target/i386/pr70453.c: New test.

From-SVN: r234634
parent b4c4967c
2016-03-31 Kirill Yukhin <kirill.yukhin@intel.com>
PR target/70453
* config/i386/sse.md (define_mode_attr shuffletype): Fix typo.
2016-03-31 Jakub Jelinek <jakub@redhat.com>
PR rtl-optimization/70460
......
......@@ -493,7 +493,7 @@
[(V16SF "f") (V16SI "i") (V8DF "f") (V8DI "i")
(V8SF "f") (V8SI "i") (V4DF "f") (V4DI "i")
(V4SF "f") (V4SI "i") (V2DF "f") (V2DI "i")
(V32QI "i") (V16HI "u") (V16QI "i") (V8HI "i")
(V32QI "i") (V16HI "i") (V16QI "i") (V8HI "i")
(V64QI "i") (V1TI "i") (V2TI "i")])
(define_mode_attr ssequartermode
......
2016-03-31 Kirill Yukhin <kirill.yukhin@intel.com>
PR target/70453
* gcc.target/i386/pr70453.c: New test.
2016-03-31 Andrey Belevantsev <abel@ispras.ru>
PR target/70292
......
/* PR target/70453 */
/* { dg-do assemble { target { lp64 } } } */
/* { dg-require-effective-target avx512vbmi } */
/* { dg-options "-Og -fschedule-insns -mavx512vbmi" } */
typedef char v64u8 __attribute__ ((vector_size (64)));
typedef short v64u16 __attribute__ ((vector_size (64)));
typedef __int128 v64u128 __attribute__ ((vector_size (64)));
int
foo(v64u8 v64u8_0, v64u16 v64u16_0, v64u128 v64u128_0)
{
v64u128_0 /= (v64u128){ v64u8_0[28] } | 0x1424171b0c;
v64u8_0 %= (v64u8){ v64u16_0[25], v64u128_0[1]} ;
v64u128_0 %= (v64u128){ v64u16_0[8] };
return v64u8_0[0] + v64u8_0[1] + v64u16_0[0] + v64u128_0[0];
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment