view gcc/testsuite/c-c++-common/torture/vshuf-8.inc @ 145:1830386684a0

gcc-9.2.0
author anatofuz
date Thu, 13 Feb 2020 11:34:05 +0900
parents 04ced10e8804
children
line wrap: on
line source

/* Test fragment for vectors of 8 elements.  */

#ifndef UNSUPPORTED

struct S
{
  V in;
  VI mask;
  V out;
};

struct S tests[] = {
  {
    { A1, B1, C1, D1, E1, F1, G1, H1 },
    {  0,  1,  2,  3,  4,  5,  6,  7 },
    { A1, B1, C1, D1, E1, F1, G1, H1 },
  },
  {
    { A1, B1, C1, D1, E1, F1, G1, H1 },
    { 0x10, 0x21, 0x32, 0x43, 0x54, 0x65, 0x76, 0x87 },
    { A1, B1, C1, D1, E1, F1, G1, H1 },
  },
  {
    { A1, B1, C1, D1, E1, F1, G1, H1 },
    {  7,  6,  5,  4,  3,  2,  1,  0 },
    { H1, G1, F1, E1, D1, C1, B1, A1 },
  },
  {
    { A1, B1, C1, D1, E1, F1, G1, H1 },
    {  7,  0,  5,  3,  2,  4,  1,  6 },
    { H1, A1, F1, D1, C1, E1, B1, G1 },
  },
  {
    { A1, B1, C1, D1, E1, F1, G1, H1 },
    {  0,  2,  1,  3,  4,  6,  5,  7 },
    { A1, C1, B1, D1, E1, G1, F1, H1 },
  },
  {
    { A2, B2, C2, D2, E2, F2, G2, H2 },
    {  3,  1,  2,  0,  7,  5,  6,  4 },
    { D2, B2, C2, A2, H2, F2, G2, E2 },
  },
  {
    { A2, B2, C2, D2, E2, F2, G2, H2 },
    { 0, 0, 0, 0 },
    { A2, A2, A2, A2, A2, A2, A2, A2 },
  },
  {
    { A2, B2, C2, D2, E2, F2, G2, H2 },
    {  1,  6,  1,  6,  1,  6,  1,  6 }, 
    { B2, G2, B2, G2, B2, G2, B2, G2 },
  }
};

struct S2
{
  V in1, in2;
  VI mask;
  V out;
};

struct S2 tests2[] = {
  {
    { A1, B1, C1, D1, E1, F1, G1, H1 },
    { A2, B2, C2, D2, E2, F2, G2, H2 },
    { 0, 1, 2, 3, 4, 5, 6, 7 },
    { A1, B1, C1, D1, E1, F1, G1, H1 },
  },
  {
    { A1, B1, C1, D1, E1, F1, G1, H1 },
    { A2, B2, C2, D2, E2, F2, G2, H2 },
    {  8,  9, 10, 11, 12, 13, 14, 15 },
    { A2, B2, C2, D2, E2, F2, G2, H2 },
  },
  {
    { A1, B1, C1, D1, E1, F1, G1, H1 },
    { A2, B2, C2, D2, E2, F2, G2, H2 },
    {  0,  8,  1,  9,  2, 10,  3, 11 },
    { A1, A2, B1, B2, C1, C2, D1, D2 },
  },
  {
    { A1, B1, C1, D1, E1, F1, G1, H1 },
    { A2, B2, C2, D2, E2, F2, G2, H2 },
    {  0, 15,  4, 11, 12,  3,  7,  8 },
    { A1, H2, E1, D2, E2, D1, H1, A2 },
  },
  {
    { A1, B1, C1, D1, E1, F1, G1, H1 },
    { A2, B2, C2, D2, E2, F2, G2, H2 },
    {  0,  0,  0,  0,  0,  0,  0,  0 },
    { A1, A1, A1, A1, A1, A1, A1, A1 }, 
  },
  {
    { A1, B1, C1, D1, E1, F1, G1, H1 },
    { A2, B2, C2, D2, E2, F2, G2, H2 },
    { 0x1e, 0x2e, 0x3e, 0x4e, 0x5e, 0x6e, 0x7e, 0x8e },
    { G2, G2, G2, G2, G2, G2, G2, G2 },
  },
};

#endif