OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [testsuite/] [gcc.target/] [i386/] [avx2-vpsubusb-2.c] - Blame information for rev 691

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 691 jeremybenn
/* { dg-do run } */
2
/* { dg-options "-mavx2 -O2" } */
3
/* { dg-require-effective-target avx2 } */
4
 
5
#include "avx2-check.h"
6
 
7
void static
8
avx2_test (void)
9
{
10
  union256i_b u, s1, s2;
11
  unsigned char e[32];
12
  int i, tmp;
13
 
14
  s1.x = _mm256_set_epi8 (1, 2, 3, 4, 10, 20, 30, 90, 80, 40, 100, 15,
15
                          98, 25, 98, 7, 88, 44, 33, 22, 11, 98, 76,
16
                          200, 34, 78, 39, 6, 3, 4, 5, 119);
17
 
18
  s2.x = _mm256_set_epi8 (88, 44, 33, 220, 11, 98, 76, 100, 34, 78, 39,
19
                          6, 3, 4, 5, 219, 1, 2, 3, 4, 10, 20, 30, 90,
20
                          80, 40, 100, 15, 98, 25, 98, 7);
21
 
22
  u.x = _mm256_subs_epu8 (s1.x, s2.x);
23
 
24
  for (i = 0; i < 32; i++)
25
    {
26
      tmp = (unsigned char) s1.a[i] - (unsigned char) s2.a[i];
27
 
28
      if (tmp < 0)
29
        tmp = 0;
30
 
31
      e[i] = tmp;
32
    }
33
 
34
  if (check_union256i_b (u, e))
35
    abort ();
36
}

powered by: WebSVN 2.1.0

© copyright 1999-2025 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.