xref: /llvm-project/clang/test/Headers/hexagon-headers.c (revision 28b01c59c93d10ed3a775dd13ff827048b59cda8)
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