1 /* Verify that overloaded built-ins for vec_merge* with int
2 inputs produce the right code. */
4 /* { dg-do compile } */
5 /* { dg-require-effective-target powerpc_altivec_ok } */
6 /* { dg-options "-maltivec -O2 " } */
11 testbi_l (vector
bool int vbi2
, vector
bool int vbi3
)
13 return vec_mergel (vbi2
, vbi3
);
17 testsi_l (vector
signed int vsi2
, vector
signed int vsi3
)
19 return vec_mergel (vsi2
, vsi3
);
23 testui_l (vector
unsigned int vui2
, vector
unsigned int vui3
)
25 return vec_mergel (vui2
, vui3
);
29 testbi_h (vector
bool int vbi2
, vector
bool int vbi3
)
31 return vec_mergeh (vbi2
, vbi3
);
35 testsi_h (vector
signed int vsi2
, vector
signed int vsi3
)
37 return vec_mergeh (vsi2
, vsi3
);
41 testui_h (vector
unsigned int vui2
, vector
unsigned int vui3
)
43 return vec_mergeh (vui2
, vui3
);
46 /* { dg-final { scan-assembler-times "vmrghw|xxmrghw" 3 } } */
47 /* { dg-final { scan-assembler-times "vmrglw|xxmrglw" 3 } } */