1 /* Verify that overloaded built-ins for vec_ld* with short
2 inputs produce the right code. */
4 /* { dg-do compile } */
5 /* { dg-require-effective-target powerpc_altivec_ok } */
6 /* { dg-options "-maltivec -O2" } */
11 testld_vss_vss (long long ll1
, vector
signed short vss2
)
13 return vec_ld (ll1
, &vss2
);
17 testld_vss_ss (long long ll1
, signed short ss
)
19 return vec_ld (ll1
, &ss
);
23 testld_vus_vus (long long ll1
, vector
unsigned short vus2
)
25 return vec_ld (ll1
, &vus2
);
29 testld_vus_us (long long ll1
, unsigned short us
)
31 return vec_ld (ll1
, &us
);
35 testld_vbs_vbs (long long ll1
, vector
bool short vbs2
)
37 return vec_ld (ll1
, &vbs2
);
41 testld_cst_vss (vector
signed short vss2
)
43 return vec_ld (16, &vss2
);
47 testld_cst_ss (signed short ss
)
49 return vec_ld (32, &ss
);
53 testld_cst_vus (vector
unsigned short vus2
)
55 return vec_ld (48, &vus2
);
59 testld_cst_us (unsigned short us
)
61 return vec_ld (64, &us
);
65 testld_cst_vbs (vector
bool short vbs2
)
67 return vec_ld (80, &vbs2
);
70 /* { dg-final { scan-assembler-times {\mlvx\M|\mlxvd2x\M|\mlxvw4x\M} 10 } } */