// NOTE: Assertions have been autogenerated by utils/update_cc_test_checks.py UTC_ARGS: --version 4
// RUN: %clang_cc1 -triple loongarch32 -target-feature +d -target-feature +frecipe -O2 -emit-llvm %s -o - | FileCheck %s
// RUN: %clang_cc1 -triple loongarch64 -target-feature +d -target-feature +frecipe -O2 -emit-llvm %s -o - | FileCheck %s
#include <larchintrin.h>
// CHECK-LABEL: @frecipe_d
// CHECK-NEXT: entry:
// CHECK-NEXT: [[TMP0:%.*]] = tail call double @llvm.loongarch.frecipe.d(double [[A:%.*]])
// CHECK-NEXT: ret double [[TMP0]]
//
double frecipe_d (double _1)
{
return __builtin_loongarch_frecipe_d (_1);
}
// CHECK-LABEL: @frsqrte_d
// CHECK-NEXT: entry:
// CHECK-NEXT: [[TMP0:%.*]] = tail call double @llvm.loongarch.frsqrte.d(double [[A:%.*]])
// CHECK-NEXT: ret double [[TMP0]]
//
double frsqrte_d (double _1)
{
return __builtin_loongarch_frsqrte_d (_1);
}
// CHECK-LABEL: @frecipe_d_alia
// CHECK-NEXT: entry:
// CHECK-NEXT: [[TMP0:%.*]] = tail call double @llvm.loongarch.frecipe.d(double [[A:%.*]])
// CHECK-NEXT: ret double [[TMP0]]
//
double frecipe_d_alia (double _1)
{
return __frecipe_d (_1);
}
// CHECK-LABEL: @frsqrte_d_alia
// CHECK-NEXT: entry:
// CHECK-NEXT: [[TMP0:%.*]] = tail call double @llvm.loongarch.frsqrte.d(double [[A:%.*]])
// CHECK-NEXT: ret double [[TMP0]]
//
double frsqrte_d_alia (double _1)
{
return __frsqrte_d (_1);
}