コード例 #1
0
ファイル: merge-vsx-be-order.c プロジェクト: Zex/gcc
static void test()
{
  /* Input vectors.  */
  vector long vla = {-2,-1};
  vector long vlb = {0,1};
  vector double vda = {-2.0,-1.0};
  vector double vdb = {0.0,1.0};

  /* Result vectors.  */
  vector long vlh, vll;
  vector double vdh, vdl;

  /* Expected result vectors.  */
#if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
  vector long vlrh = {1,-1};
  vector long vlrl = {0,-2};
  vector double vdrh = {1.0,-1.0};
  vector double vdrl = {0.0,-2.0};
#else
  vector long vlrh = {-2,0};
  vector long vlrl = {-1,1};
  vector double vdrh = {-2.0,0.0};
  vector double vdrl = {-1.0,1.0};
#endif

  vlh = vec_mergeh (vla, vlb);
  vll = vec_mergel (vla, vlb);
  vdh = vec_mergeh (vda, vdb);
  vdl = vec_mergel (vda, vdb);

  check (vec_long_eq (vlh, vlrh), "vlh");
  check (vec_long_eq (vll, vlrl), "vll");
  check (vec_double_eq (vdh, vdrh), "vdh" );
  check (vec_double_eq (vdl, vdrl), "vdl" );
}
コード例 #2
0
ファイル: insert-vsx.c プロジェクト: maqayum/gcc-libitm
static void test()
{
  vector long vl = {0, 1};
  vector double vd = {0.0, 1.0};
  vector long vlr = vec_insert (2, vl, 0);
  vector double vdr = vec_insert (2.0, vd, 1);
  vector long vler = {2, 1};
  vector double vder = {0.0, 2.0};

  check (vec_long_eq (vlr, vler), "vl");
  check (vec_dbl_eq (vdr, vder), "vd");
}