1 /* { dg-do run { target { power10_hw } } } */
2 /* { dg-require-effective-target power10_ok } */
3 /* { dg-options "-mdejagnu-cpu=power10 -O2" } */
12 extern void abort (void);
17 vector
unsigned long long arg1
, arg2
;
18 vector
unsigned __int128 arg3
, result
, expected
;
19 unsigned __int128 c
= (unsigned __int128
) (-1); /* 2^128 - 1 */
21 arg1
= (vector
unsigned long long) { 111ULL, 300ULL };
22 arg2
= (vector
unsigned long long) { 700ULL, 222ULL };
23 arg3
= (vector
unsigned __int128
) { c
};
24 expected
= (vector
unsigned __int128
) { 1 };
26 result
= vec_msumc (arg1
, arg2
, arg3
);
27 if (result
[0] != expected
[0])
30 printf ("ERROR, expected %d, result %d\n",
31 (unsigned int) expected
[0],
32 (unsigned int) result
[0]);