1 /* Verify that overloaded built-ins for vec_orc and vec_nand with long long
2 inputs produce the right results. */
4 /* { dg-do compile } */
5 /* { dg-require-effective-target powerpc_p8vector_ok } */
6 /* { dg-options "-mpower8-vector -O1" } */
10 vector
signed long long
11 test1_orc (vector
bool long long x
, vector
signed long long y
)
13 vector
signed long long *foo
;
14 *foo
+= vec_orc (x
, y
);
18 vector
signed long long
19 test1_nand (vector
bool long long x
, vector
signed long long y
)
21 vector
signed long long *foo
;
22 *foo
+= vec_nand (x
, y
);
26 vector
signed long long
27 test2_orc (vector
signed long long x
, vector
bool long long y
)
29 vector
signed long long *foo
;
30 *foo
+= vec_orc (x
, y
);
34 vector
signed long long
35 test2_nand (vector
signed long long x
, vector
bool long long y
)
37 vector
signed long long *foo
;
38 *foo
+= vec_nand (x
, y
);
42 vector
signed long long
43 test3_orc (vector
signed long long x
, vector
signed long long y
)
45 vector
signed long long *foo
;
46 *foo
+= vec_orc (x
, y
);
50 vector
signed long long
51 test3_nand (vector
signed long long x
, vector
signed long long y
)
53 vector
signed long long *foo
;
54 *foo
+= vec_nand (x
, y
);
58 vector
unsigned long long
59 test4_orc (vector
bool long long x
, vector
unsigned long long y
)
61 vector
unsigned long long *foo
;
62 *foo
+= vec_orc (x
, y
);
66 vector
unsigned long long
67 test4_nand (vector
bool long long x
, vector
unsigned long long y
)
69 vector
unsigned long long *foo
;
70 *foo
+= vec_nand (x
, y
);
74 vector
unsigned long long
75 test5_orc (vector
unsigned long long x
, vector
bool long long y
)
77 vector
unsigned long long *foo
;
78 *foo
+= vec_orc (x
, y
);
82 vector
unsigned long long
83 test5_nand (vector
unsigned long long x
, vector
bool long long y
)
85 vector
unsigned long long *foo
;
86 *foo
+= vec_nand (x
, y
);
90 vector
unsigned long long
91 test6_orc (vector
unsigned long long x
, vector
unsigned long long y
)
93 vector
unsigned long long *foo
;
94 *foo
+= vec_orc (x
, y
);
97 vector
unsigned long long
98 test6_nand (vector
unsigned long long x
, vector
unsigned long long y
)
100 vector
unsigned long long *foo
;
101 *foo
+= vec_nand (x
, y
);
105 /* { dg-final { scan-assembler-times {\mxxlnand\M} 3 } } */
106 /* { dg-final { scan-assembler-times {\mxxlorc\M} 6 } } */