1 /* Verify that overloaded built-ins for vec_sl 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 -O2" } */
10 vector
signed long long
11 testsl_signed (vector
signed long long x
, vector
unsigned long long y
)
16 vector
unsigned long long
17 testsl_unsigned (vector
unsigned long long x
, vector
unsigned long long y
)
22 vector
signed long long
23 testsr_signed (vector
signed long long x
, vector
unsigned long long y
)
28 vector
unsigned long long
29 testsr_unsigned (vector
unsigned long long x
, vector
unsigned long long y
)
34 vector
signed long long
35 testsra_signed (vector
signed long long x
, vector
unsigned long long y
)
37 return vec_sra (x
, y
);
40 /* watch for PR 79544 here (vsrd / vsrad issue) */
41 vector
unsigned long long
42 testsra_unsigned (vector
unsigned long long x
, vector
unsigned long long y
)
44 return vec_sra (x
, y
);
47 vector
signed long long
48 testrl_signed (vector
signed long long x
, vector
unsigned long long y
)
53 vector
unsigned long long
54 testrl_unsigned (vector
unsigned long long x
, vector
unsigned long long y
)
59 /* { dg-final { scan-assembler-times "vsld" 2 } } */
60 /* { dg-final { scan-assembler-times "vsrd" 2 } } */
61 /* { dg-final { scan-assembler-times "vsrad" 2 } } */
62 /* { dg-final { scan-assembler-times "vrld" 2 } } */