/* PR target/95524 */ /* { dg-do compile } */ /* { dg-options "-O2 -msse2 -mno-avx" } */ /* { dg-final { scan-assembler-times "pand\[^\n\]*%xmm" 3 { xfail *-*-* } } } */ typedef char v16qi __attribute__ ((vector_size (16))); typedef unsigned char v16uqi __attribute__ ((vector_size (16))); __attribute__((noipa)) v16qi foo_ashiftrt_128 (v16qi a) { return a >> 2; } /* { dg-final { scan-assembler-times "psraw\[^\n\]*%xmm" 1 } } */ /* { dg-final { scan-assembler-times "pxor\[^\n\]*%xmm" 1 } } */ /* { dg-final { scan-assembler-times "psubb\[^\n\]*%xmm" 1 } } */ __attribute__((noipa)) v16qi foo_ashift_128 (v16qi a) { return a << 7; } /* { dg-final { scan-assembler-times "psllw\[^\n\]*%xmm" 1 { xfail *-*-* } } } */ __attribute__((noipa)) v16uqi foo_lshiftrt_128 (v16uqi a) { return a >> 2; } /* { dg-final { scan-assembler-times "psrlw\[^\n\]*%xmm" 1 } } */