1 /* { dg-do compile { target { powerpc*-*-* } } } */
2 /* { dg-require-effective-target ilp32 } */
3 /* { dg-require-effective-target powerpc_popcntb_ok } */
4 /* { dg-options "-mdejagnu-cpu=power6" } */
5
6 void abort ();
7
8 long long int
9 do_compare (long long int a, long long int b)
10 {
11 return __builtin_cmpb (a, b); /* { dg-error "'__builtin_p6_cmpb' requires the '-mcpu=power6' option and either the '-m64' or '-mpowerpc64' option" } */
12 }
13
14 void expect (long long int pattern, long long int value)
15 {
16 if (pattern != value)
17 abort ();
18 }
19
20 int
21 main (int argc, char *argv[])
22 {
23 expect (0xff00000000000000LL,
24 do_compare (0x0123456789abcdefLL, 0x0100000000000000LL));
25 expect (0x00ffffffffffffff,
26 do_compare (0x0123456789abcdefLL, 0x0023456789abcdefLL));
27 expect (0x00000000000000ff,
28 do_compare (0x00000000000000efLL, 0x0123456789abcdefLL));
29 }