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

Subversion Repositories openrisc

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

Go to most recent revision | 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
  unsigned 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_adds_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 > 255)
29
        tmp = 255;
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-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.