brintos

brintos / llvm-project-archived public Read only

0
0
Text · 941 B · 21f7362 Raw
37 lines · c
1// REQUIRES: arm-registered-target2// RUN: %clang_cc1 -triple armv7-unknown-unknown -mfpmath vfp -emit-llvm -o - %s | FileCheck %s3 4// CHECK-NOT: error:5 6double fabs(double x) { // CHECK-LABEL: @fabs(7  // CHECK: call double asm "vabs.f64 ${0:P}, ${1:P}", "=w,w"(double8  __asm__("vabs.f64 %P0, %P1"9          : "=w"(x)10          : "w"(x));11  return x;12}13 14float fabsf(float x) { // CHECK-LABEL: @fabsf(15  // CHECK: call float asm "vabs.f32 $0, $1", "=t,t"(float16  __asm__("vabs.f32 %0, %1"17          : "=t"(x)18          : "t"(x));19  return x;20}21 22double sqrt(double x) { // CHECK-LABEL: @sqrt(23  // CHECK: call double asm "vsqrt.f64 ${0:P}, ${1:P}", "=w,w"(double24  __asm__("vsqrt.f64 %P0, %P1"25          : "=w"(x)26          : "w"(x));27  return x;28}29 30float sqrtf(float x) { // CHECK-LABEL: @sqrtf(31  // CHECK: call float asm "vsqrt.f32 $0, $1", "=t,t"(float32  __asm__("vsqrt.f32 %0, %1"33          : "=t"(x)34          : "t"(x));35  return x;36}37