/* { dg-do compile } */ /* { dg-options "-O2 -mavx -ftree-vectorize -fvect-cost-model=unlimited -fdump-tree-slp-details" } */ /* { dg-final { scan-tree-dump-times "basic block part vectorized using (?:32|64) byte vectors" 6 "slp2" } }*/ /* { dg-final { scan-tree-dump-times {(?n)add new stmt:.*MEM } 1 "slp2" } } */ /* { dg-final { scan-tree-dump-times {(?n)add new stmt:.*MEM } 1 "slp2" } } */ /* { dg-final { scan-tree-dump-times {(?n)add new stmt:.*MEM } 1 "slp2" } } */ /* { dg-final { scan-tree-dump-times {(?n)add new stmt:.*MEM } 1 "slp2" } } */ /* { dg-final { scan-tree-dump-times {(?n)add new stmt:.*MEM } 1 "slp2" } } */ /* { dg-final { scan-tree-dump-times {(?n)add new stmt:.*MEM } 1 "slp2" } } */ void __attribute__((noipa)) foo_pd (_Complex double* a, _Complex double b1, _Complex double b2) { a[0] = b1; a[1] = b2; } void __attribute__((noipa)) foo_ps (_Complex float* a, _Complex float b1, _Complex float b2, _Complex float b3, _Complex float b4) { a[0] = b1; a[1] = b2; a[2] = b3; a[3] = b4; } void __attribute__((noipa)) foo_epi64 (_Complex long long* a, _Complex long long b1, _Complex long long b2) { a[0] = b1; a[1] = b2; } void __attribute__((noipa)) foo_epi32 (_Complex int* a, _Complex int b1, _Complex int b2, _Complex int b3, _Complex int b4) { a[0] = b1; a[1] = b2; a[2] = b3; a[3] = b4; } void __attribute__((noipa)) foo_epi16 (_Complex short* a, _Complex short b1, _Complex short b2, _Complex short b3, _Complex short b4, _Complex short b5, _Complex short b6, _Complex short b7,_Complex short b8) { a[0] = b1; a[1] = b2; a[2] = b3; a[3] = b4; a[4] = b5; a[5] = b6; a[6] = b7; a[7] = b8; } void __attribute__((noipa)) foo_epi8 (_Complex char* a, _Complex char b1, _Complex char b2, _Complex char b3, _Complex char b4, _Complex char b5, _Complex char b6, _Complex char b7,_Complex char b8, _Complex char b9, _Complex char b10, _Complex char b11, _Complex char b12, _Complex char b13, _Complex char b14, _Complex char b15,_Complex char b16) { a[0] = b1; a[1] = b2; a[2] = b3; a[3] = b4; a[4] = b5; a[5] = b6; a[6] = b7; a[7] = b8; a[8] = b9; a[9] = b10; a[10] = b11; a[11] = b12; a[12] = b13; a[13] = b14; a[14] = b15; a[15] = b16; }