1*fcb8342aSAmi-zhang // NOTE: Assertions have been autogenerated by utils/update_cc_test_checks.py UTC_ARGS: --version 4 2*fcb8342aSAmi-zhang // RUN: %clang_cc1 -triple loongarch32 -target-feature +f -target-feature +frecipe -O2 -emit-llvm %s -o - | FileCheck %s 3*fcb8342aSAmi-zhang // RUN: %clang_cc1 -triple loongarch64 -target-feature +f -target-feature +frecipe -O2 -emit-llvm %s -o - | FileCheck %s 4*fcb8342aSAmi-zhang 5*fcb8342aSAmi-zhang #include <larchintrin.h> 6*fcb8342aSAmi-zhang 7*fcb8342aSAmi-zhang // CHECK-LABEL: @frecipe_s 8*fcb8342aSAmi-zhang // CHECK-NEXT: entry: 9*fcb8342aSAmi-zhang // CHECK-NEXT: [[TMP0:%.*]] = tail call float @llvm.loongarch.frecipe.s(float [[A:%.*]]) 10*fcb8342aSAmi-zhang // CHECK-NEXT: ret float [[TMP0]] 11*fcb8342aSAmi-zhang // frecipe_s(float _1)12*fcb8342aSAmi-zhangfloat frecipe_s (float _1) 13*fcb8342aSAmi-zhang { 14*fcb8342aSAmi-zhang return __builtin_loongarch_frecipe_s (_1); 15*fcb8342aSAmi-zhang } 16*fcb8342aSAmi-zhang 17*fcb8342aSAmi-zhang // CHECK-LABEL: @frsqrte_s 18*fcb8342aSAmi-zhang // CHECK-NEXT: entry: 19*fcb8342aSAmi-zhang // CHECK-NEXT: [[TMP0:%.*]] = tail call float @llvm.loongarch.frsqrte.s(float [[A:%.*]]) 20*fcb8342aSAmi-zhang // CHECK-NEXT: ret float [[TMP0]] 21*fcb8342aSAmi-zhang // frsqrte_s(float _1)22*fcb8342aSAmi-zhangfloat frsqrte_s (float _1) 23*fcb8342aSAmi-zhang { 24*fcb8342aSAmi-zhang return __builtin_loongarch_frsqrte_s (_1); 25*fcb8342aSAmi-zhang } 26*fcb8342aSAmi-zhang 27*fcb8342aSAmi-zhang // CHECK-LABEL: @frecipe_s_alia 28*fcb8342aSAmi-zhang // CHECK-NEXT: entry: 29*fcb8342aSAmi-zhang // CHECK-NEXT: [[TMP0:%.*]] = tail call float @llvm.loongarch.frecipe.s(float [[A:%.*]]) 30*fcb8342aSAmi-zhang // CHECK-NEXT: ret float [[TMP0]] 31*fcb8342aSAmi-zhang // frecipe_s_alia(float _1)32*fcb8342aSAmi-zhangfloat frecipe_s_alia (float _1) 33*fcb8342aSAmi-zhang { 34*fcb8342aSAmi-zhang return __frecipe_s (_1); 35*fcb8342aSAmi-zhang } 36*fcb8342aSAmi-zhang 37*fcb8342aSAmi-zhang // CHECK-LABEL: @frsqrte_s_alia 38*fcb8342aSAmi-zhang // CHECK-NEXT: entry: 39*fcb8342aSAmi-zhang // CHECK-NEXT: [[TMP0:%.*]] = tail call float @llvm.loongarch.frsqrte.s(float [[A:%.*]]) 40*fcb8342aSAmi-zhang // CHECK-NEXT: ret float [[TMP0]] 41*fcb8342aSAmi-zhang // frsqrte_s_alia(float _1)42*fcb8342aSAmi-zhangfloat frsqrte_s_alia (float _1) 43*fcb8342aSAmi-zhang { 44*fcb8342aSAmi-zhang return __frsqrte_s (_1); 45*fcb8342aSAmi-zhang } 46