/* { dg-do run } */ /* { dg-require-effective-target powerpc_future_hw } */ /* { dg-options "-mdejagnu-cpu=future" } */ #include extern void abort (void); /* Vector string clear left-most bytes of unsigned char. */ vector unsigned char clrl (vector unsigned char arg, int n) { return vec_clrl (arg, n); } int main (int argc, char *argv []) { vector unsigned char input0 = { 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf, 0x11 }; vector unsigned char expected0 = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc, 0xd, 0xe, 0xf, 0x11 }; vector unsigned char expected1 = { 0x0, 0x0, 0x0, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf, 0x11 }; vector unsigned char expected2 = { 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf, 0x11 }; if (!vec_all_eq (clrl (input0, 5), expected0)) abort (); if (!vec_all_eq (clrl (input0, 13), expected1)) abort (); if (!vec_all_eq (clrl (input0, 19), expected2)) abort (); }