// 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); }