| /* Verify that overloaded built-ins for vec_st* with long long |
| inputs produce the right code. */ |
| |
| /* { dg-do compile { target lp64 } } */ |
| /* { dg-require-effective-target powerpc_p8vector_ok } */ |
| /* { dg-options "-mpower8-vector -O2" } */ |
| |
| #include <altivec.h> |
| |
| void |
| testst_1 (vector signed long long vsll1, int i1, vector signed long long * vsllp) |
| { |
| return vec_st(vsll1, i1, vsllp); |
| } |
| void |
| testst_3 (vector unsigned long long vull1, int i1, vector unsigned long long * vsllp) |
| { |
| return vec_st(vull1, i1, vsllp); |
| } |
| void |
| testst_5 (vector bool long long vbll1, int i1, vector bool long long * vbllp) |
| { |
| return vec_st(vbll1, i1, vbllp); |
| } |
| void |
| testst_cst1 (vector signed long long vsll1, int i1, vector signed long long * vsllp) |
| { |
| return vec_st(vsll1, 12, vsllp); |
| } |
| void |
| testst_cst3 (vector unsigned long long vull1, int i1, vector unsigned long long * vsllp) |
| { |
| return vec_st(vull1, 24, vsllp); |
| } |
| void |
| testst_cst5 (vector bool long long vbll1, int i1, vector bool long long * vbllp) |
| { |
| return vec_st(vbll1, 36, vbllp); |
| } |
| |
| /* { dg-final { scan-assembler-times {\mstvx\M} 6 } } */ |