builtins-hexagon-v67-audio.c
4.28 KB
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
// RUN: %clang_cc1 -triple hexagon -target-cpu hexagonv67 -target-feature +audio -emit-llvm -o - %s | FileCheck %s
// RUN: %clang_cc1 -triple hexagon -target-cpu hexagonv67t -target-feature +audio -emit-llvm -o - %s | FileCheck %s
// CHECK-LABEL: @test1
// CHECK: call i64 @llvm.hexagon.M7.dcmpyrw(i64 %0, i64 %1)
long long test1(long long rss, long long rtt) {
return __builtin_HEXAGON_M7_dcmpyrw(rss, rtt);
}
// CHECK-LABEL: @test2
// CHECK: call i64 @llvm.hexagon.M7.dcmpyrw.acc(i64 %0, i64 %1, i64 %2)
long long test2(long long rxx, long long rss, long long rtt) {
return __builtin_HEXAGON_M7_dcmpyrw_acc(rxx, rss, rtt);
}
// CHECK-LABEL: @test3
// CHECK: call i64 @llvm.hexagon.M7.dcmpyrwc(i64 %0, i64 %1)
long long test3(long long rss, long long rtt) {
return __builtin_HEXAGON_M7_dcmpyrwc(rss, rtt);
}
// CHECK-LABEL: @test4
// CHECK: call i64 @llvm.hexagon.M7.dcmpyrwc.acc(i64 %0, i64 %1, i64 %2)
long long test4(long long rxx, long long rss, long long rtt) {
return __builtin_HEXAGON_M7_dcmpyrwc_acc(rxx, rss, rtt);
}
// CHECK-LABEL: @test5
// CHECK: call i64 @llvm.hexagon.M7.dcmpyiw(i64 %0, i64 %1)
long long test5(long long rss, long long rtt) {
return __builtin_HEXAGON_M7_dcmpyiw(rss, rtt);
}
// CHECK-LABEL: @test6
// CHECK: call i64 @llvm.hexagon.M7.dcmpyiw.acc(i64 %0, i64 %1, i64 %2)
long long test6(long long rxx, long long rss, long long rtt) {
return __builtin_HEXAGON_M7_dcmpyiw_acc(rxx, rss, rtt);
}
// CHECK-LABEL: @test7
// CHECK: call i64 @llvm.hexagon.M7.dcmpyiwc(i64 %0, i64 %1)
long long test7(long long rss, long long rtt) {
return __builtin_HEXAGON_M7_dcmpyiwc(rss, rtt);
}
// CHECK-LABEL: @test8
// CHECK: call i64 @llvm.hexagon.M7.dcmpyiwc.acc(i64 %0, i64 %1, i64 %2)
long long test8(long long rxx, long long rss, long long rtt) {
return __builtin_HEXAGON_M7_dcmpyiwc_acc(rxx, rss, rtt);
}
// CHECK-LABEL: @test9
// CHECK: call i32 @llvm.hexagon.M7.wcmpyrw(i64 %0, i64 %1)
int test9(long long rss, long long rtt) {
return __builtin_HEXAGON_M7_wcmpyrw(rss, rtt);
}
// CHECK-LABEL: @test10
// CHECK: call i32 @llvm.hexagon.M7.wcmpyrwc(i64 %0, i64 %1)
int test10(long long rss, long long rtt) {
return __builtin_HEXAGON_M7_wcmpyrwc(rss, rtt);
}
// CHECK-LABEL: @test11
// CHECK: call i32 @llvm.hexagon.M7.wcmpyiw(i64 %0, i64 %1)
int test11(long long rss, long long rtt) {
return __builtin_HEXAGON_M7_wcmpyiw(rss, rtt);
}
// CHECK-LABEL: @test12
// CHECK: call i32 @llvm.hexagon.M7.wcmpyiwc(i64 %0, i64 %1)
int test12(long long rss, long long rtt) {
return __builtin_HEXAGON_M7_wcmpyiwc(rss, rtt);
}
// CHECK-LABEL: @test13
// CHECK: call i32 @llvm.hexagon.M7.wcmpyrw.rnd(i64 %0, i64 %1)
int test13(long long rss, long long rtt) {
return __builtin_HEXAGON_M7_wcmpyrw_rnd(rss, rtt);
}
// CHECK-LABEL: @test14
// CHECK: call i32 @llvm.hexagon.M7.wcmpyrwc.rnd(i64 %0, i64 %1)
int test14(long long rss, long long rtt) {
return __builtin_HEXAGON_M7_wcmpyrwc_rnd(rss, rtt);
}
// CHECK-LABEL: @test15
// CHECK: call i32 @llvm.hexagon.M7.wcmpyiw.rnd(i64 %0, i64 %1)
int test15(long long rss, long long rtt) {
return __builtin_HEXAGON_M7_wcmpyiw_rnd(rss, rtt);
}
// CHECK-LABEL: @test16
// CHECK: call i32 @llvm.hexagon.M7.wcmpyiwc.rnd(i64 %0, i64 %1)
int test16(long long rss, long long rtt) {
return __builtin_HEXAGON_M7_wcmpyiwc_rnd(rss, rtt);
}
// CHECK-LABEL: @test17
// CHECK: call i64 @llvm.hexagon.A7.croundd.ri(i64 %0, i32 0)
long long test17(long long rss) {
return __builtin_HEXAGON_A7_croundd_ri(rss, 0);
}
// CHECK-LABEL: @test18
// CHECK: call i64 @llvm.hexagon.A7.croundd.rr(i64 %0, i32 %1)
long long test18(long long rss, int rt) {
return __builtin_HEXAGON_A7_croundd_rr(rss, rt);
}
// CHECK-LABEL: @test19
// CHECK: call i32 @llvm.hexagon.A7.clip(i32 %0, i32 0)
int test19(int rs) {
return __builtin_HEXAGON_A7_clip(rs, 0);
}
// CHECK-LABEL: @test20
// CHECK: call i64 @llvm.hexagon.A7.vclip(i64 %0, i32 0)
long long test20(long long rs) {
return __builtin_HEXAGON_A7_vclip(rs, 0);
}
// CHECK-LABEL: @test21
// CHECK: call i64 @llvm.hexagon.M7.vdmpy(i64 %0, i64 %1)
long long test21(long long rss, long long rtt) {
return __builtin_HEXAGON_M7_vdmpy(rss, rtt);
}
// CHECK-LABEL: @test22
// CHECK: call i64 @llvm.hexagon.M7.vdmpy.acc(i64 %0, i64 %1, i64 %2)
long long test22(long long rxx, long long rss, long long rtt) {
return __builtin_HEXAGON_M7_vdmpy_acc(rxx, rss, rtt);
}