1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
/* Verify that overloaded built-ins for vec_st* with long long
inputs produce the right code. */
/* { dg-do compile { target lp64 } } */
/* { dg-options "-mvsx -O2" } */
/* { dg-additional-options "-mdejagnu-cpu=power8" { target { ! has_arch_pwr8 } } } */
/* { dg-require-effective-target powerpc_vsx } */
#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 } } */
|