1 /* { dg-do compile } */
2 /* { dg-options "-mvis4b" } */
3
4 typedef unsigned char vec8 __attribute__((vector_size(8)));
5 typedef short vec16 __attribute__((vector_size(8)));
6 typedef int vec32 __attribute__((vector_size(8)));
7
test_fpcmple8shl(vec8 a,vec8 b)8 long test_fpcmple8shl (vec8 a, vec8 b)
9 {
10 return __builtin_vis_fpcmple8shl (a, b, 2);
11 }
12
test_fpcmpgt8shl(vec8 a,vec8 b)13 long test_fpcmpgt8shl (vec8 a, vec8 b)
14 {
15 return __builtin_vis_fpcmpgt8shl (a, b, 2);
16 }
17
test_fpcmpeq8shl(vec8 a,vec8 b)18 long test_fpcmpeq8shl (vec8 a, vec8 b)
19 {
20 return __builtin_vis_fpcmpeq8shl (a, b, 2);
21 }
22
test_fpcmpne8shl(vec8 a,vec8 b)23 long test_fpcmpne8shl (vec8 a, vec8 b)
24 {
25 return __builtin_vis_fpcmpne8shl (a, b, 2);
26 }
27
test_fpcmple16shl(vec16 a,vec16 b)28 long test_fpcmple16shl (vec16 a, vec16 b)
29 {
30 return __builtin_vis_fpcmple16shl (a, b, 2);
31 }
32
test_fpcmpgt16shl(vec16 a,vec16 b)33 long test_fpcmpgt16shl (vec16 a, vec16 b)
34 {
35 return __builtin_vis_fpcmpgt16shl (a, b, 2);
36 }
37
test_fpcmpeq16shl(vec16 a,vec16 b)38 long test_fpcmpeq16shl (vec16 a, vec16 b)
39 {
40 return __builtin_vis_fpcmpeq16shl (a, b, 2);
41 }
42
test_fpcmpne16shl(vec16 a,vec16 b)43 long test_fpcmpne16shl (vec16 a, vec16 b)
44 {
45 return __builtin_vis_fpcmpne16shl (a, b, 2);
46 }
47
test_fpcmple32shl(vec32 a,vec32 b)48 long test_fpcmple32shl (vec32 a, vec32 b)
49 {
50 return __builtin_vis_fpcmple32shl (a, b, 2);
51 }
52
test_fpcmpgt32shl(vec32 a,vec32 b)53 long test_fpcmpgt32shl (vec32 a, vec32 b)
54 {
55 return __builtin_vis_fpcmpgt32shl (a, b, 2);
56 }
57
test_fpcmpeq32shl(vec32 a,vec32 b)58 long test_fpcmpeq32shl (vec32 a, vec32 b)
59 {
60 return __builtin_vis_fpcmpeq32shl (a, b, 2);
61 }
62
test_fpcmpne32shl(vec32 a,vec32 b)63 long test_fpcmpne32shl (vec32 a, vec32 b)
64 {
65 return __builtin_vis_fpcmpne32shl (a, b, 2);
66 }
67
68 /* { dg-final { scan-assembler "fpcmple8shl\t%" } } */
69 /* { dg-final { scan-assembler "fpcmpgt8shl\t%" } } */
70 /* { dg-final { scan-assembler "fpcmpeq8shl\t%" } } */
71 /* { dg-final { scan-assembler "fpcmpne8shl\t%" } } */
72
73 /* { dg-final { scan-assembler "fpcmple16shl\t%" } } */
74 /* { dg-final { scan-assembler "fpcmpgt16shl\t%" } } */
75 /* { dg-final { scan-assembler "fpcmpeq16shl\t%" } } */
76 /* { dg-final { scan-assembler "fpcmpne16shl\t%" } } */
77
78 /* { dg-final { scan-assembler "fpcmple32shl\t%" } } */
79 /* { dg-final { scan-assembler "fpcmpgt32shl\t%" } } */
80 /* { dg-final { scan-assembler "fpcmpeq32shl\t%" } } */
81 /* { dg-final { scan-assembler "fpcmpne32shl\t%" } } */
82