view gcc/testsuite/g++.dg/torture/vshuf-8.inc @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +0900
parents 04ced10e8804
children
line wrap: on
line source

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

#ifndef UNSUPPORTED

constexpr V in1[] = { { A1, B1, C1, D1, E1, F1, G1, H1 },
		      { A1, B1, C1, D1, E1, F1, G1, H1 },
		      { A1, B1, C1, D1, E1, F1, G1, H1 },
		      { A1, B1, C1, D1, E1, F1, G1, H1 },
		      { A1, B1, C1, D1, E1, F1, G1, H1 },
		      { A2, B2, C2, D2, E2, F2, G2, H2 },
		      { A2, B2, C2, D2, E2, F2, G2, H2 },
		      { A2, B2, C2, D2, E2, F2, G2, H2 }};

constexpr VI mask1[] = { {  0,  1,  2,  3,  4,  5,  6,  7 },
		       { 0x10, 0x21, 0x32, 0x43, 0x54, 0x65, 0x76, 0x87 },
		       {  7,  6,  5,  4,  3,  2,  1,  0 },
		       {  7,  0,  5,  3,  2,  4,  1,  6 },
		       {  0,  2,  1,  3,  4,  6,  5,  7 },
		       {  3,  1,  2,  0,  7,  5,  6,  4 },
		       { 0, 0, 0, 0 },
		       {  1,  6,  1,  6,  1,  6,  1,  6 }};

constexpr V out1[] =   { { A1, B1, C1, D1, E1, F1, G1, H1 },
			 { A1, B1, C1, D1, E1, F1, G1, H1 },
			 { H1, G1, F1, E1, D1, C1, B1, A1 },
			 { H1, A1, F1, D1, C1, E1, B1, G1 },
			 { A1, C1, B1, D1, E1, G1, F1, H1 },
			 { D2, B2, C2, A2, H2, F2, G2, E2 },
			 { A2, A2, A2, A2, A2, A2, A2, A2 },
			 { B2, G2, B2, G2, B2, G2, B2, G2 }};

constexpr V in2 [] = {     { A1, B1, C1, D1, E1, F1, G1, H1 },
			   { A1, B1, C1, D1, E1, F1, G1, H1 },
			   { A1, B1, C1, D1, E1, F1, G1, H1 },
			   { A1, B1, C1, D1, E1, F1, G1, H1 },
			   { A1, B1, C1, D1, E1, F1, G1, H1 },
			   { A1, B1, C1, D1, E1, F1, G1, H1 }};


constexpr V in3 = { A2, B2, C2, D2, E2, F2, G2, H2};

constexpr VI mask2[] = { { 0, 1, 2, 3, 4, 5, 6, 7 },
		       {  8,  9, 10, 11, 12, 13, 14, 15 },
		       {  0,  8,  1,  9,  2, 10,  3, 11 },
		       {  0, 15,  4, 11, 12,  3,  7,  8 },
		       {  0,  0,  0,  0,  0,  0,  0,  0 },
		       { 0x1e, 0x2e, 0x3e, 0x4e, 0x5e, 0x6e, 0x7e, 0x8e }};

constexpr V out2[] = { { A1, B1, C1, D1, E1, F1, G1, H1 },
		       { A2, B2, C2, D2, E2, F2, G2, H2 },
		       { A1, A2, B1, B2, C1, C2, D1, D2 },
		       { A1, H2, E1, D2, E2, D1, H1, A2 },
		       { A1, A1, A1, A1, A1, A1, A1, A1 }, 
		       { G2, G2, G2, G2, G2, G2, G2, G2 }};

#endif