1/* { dg-require-effective-target vect_int } */ 2 3#include <stdarg.h> 4#include "tree-vect.h" 5 6#define N 16 7 8unsigned short out[N]; 9unsigned short in[N] = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15}; 10 11int i; 12__attribute__ ((noinline)) int 13main1 () 14{ 15 unsigned short *pin = &in[0]; 16 unsigned short *pout = &out[0]; 17 18 *pout++ = *pin++; 19 *pout++ = *pin++; 20 21 if (i) 22 __asm__ volatile ("" : : : "memory"); 23 24 /* Check results. */ 25 if (out[0] != in[0] 26 || out[1] != in[1]) 27 abort(); 28 29 return 0; 30} 31 32int main (void) 33{ 34 check_vect (); 35 36 main1 (); 37 38 return 0; 39} 40 41/* { dg-final { scan-tree-dump-times "basic block vectorized" 0 "slp2" } } */ 42/* { dg-final { cleanup-tree-dump "slp2" } } */ 43 44