1 // REQUIRES: hexagon-registered-target
2
3 // RUN: %clang_cc1 -O0 -internal-isystem %S/../../lib/Headers/ \
4 // RUN: -target-cpu hexagonv68 -triple hexagon-unknown-elf \
5 // RUN: -emit-llvm %s -o - | FileCheck %s
6
7 // RUN: %clang_cc1 -O0 -internal-isystem %S/../../lib/Headers/ \
8 // RUN: -target-cpu hexagonv68 -triple hexagon-unknown-elf -x c++ \
9 // RUN: -emit-llvm %s -o - | FileCheck %s
10
11 #include <hexagon_protos.h>
12
13 // expected-no-diagnostics
14
test_protos(float a,unsigned int b)15 void test_protos(float a, unsigned int b) {
16 unsigned char c;
17 // CHECK: call i64 @llvm.hexagon.A2.absp
18 b = Q6_P_abs_P(b);
19 }
20
test_dma()21 void test_dma() {
22 unsigned int b;
23
24 // CHECK: call i32 @llvm.hexagon.Y6.dmpoll
25 b = Q6_R_dmpoll();
26 // CHECK: call i32 @llvm.hexagon.Y6.dmpause
27 b = Q6_R_dmpause();
28 }
29