46 lines · c
1// NOTE: Assertions have been autogenerated by utils/update_cc_test_checks.py UTC_ARGS: --version 42// RUN: %clang_cc1 -triple loongarch32 -target-feature +d -target-feature +frecipe -O2 -emit-llvm %s -o - | FileCheck %s3// RUN: %clang_cc1 -triple loongarch64 -target-feature +d -target-feature +frecipe -O2 -emit-llvm %s -o - | FileCheck %s4 5#include <larchintrin.h>6 7// CHECK-LABEL: @frecipe_d8// CHECK-NEXT: entry:9// CHECK-NEXT: [[TMP0:%.*]] = tail call double @llvm.loongarch.frecipe.d(double [[A:%.*]])10// CHECK-NEXT: ret double [[TMP0]]11//12double frecipe_d (double _1)13{14 return __builtin_loongarch_frecipe_d (_1);15}16 17// CHECK-LABEL: @frsqrte_d18// CHECK-NEXT: entry:19// CHECK-NEXT: [[TMP0:%.*]] = tail call double @llvm.loongarch.frsqrte.d(double [[A:%.*]])20// CHECK-NEXT: ret double [[TMP0]]21//22double frsqrte_d (double _1)23{24 return __builtin_loongarch_frsqrte_d (_1);25}26 27// CHECK-LABEL: @frecipe_d_alia28// CHECK-NEXT: entry:29// CHECK-NEXT: [[TMP0:%.*]] = tail call double @llvm.loongarch.frecipe.d(double [[A:%.*]])30// CHECK-NEXT: ret double [[TMP0]]31//32double frecipe_d_alia (double _1)33{34 return __frecipe_d (_1);35}36 37// CHECK-LABEL: @frsqrte_d_alia38// CHECK-NEXT: entry:39// CHECK-NEXT: [[TMP0:%.*]] = tail call double @llvm.loongarch.frsqrte.d(double [[A:%.*]])40// CHECK-NEXT: ret double [[TMP0]]41//42double frsqrte_d_alia (double _1)43{44 return __frsqrte_d (_1);45}46