1; RUN: llc -mtriple=aarch64-linux-gnu < %s | FileCheck -check-prefix=LINUX %s 2; RUN: llc -mtriple=aarch64-apple-macos10.9 < %s | FileCheck -check-prefix=APPLE %s 3; RUN: llc -mtriple=aarch64-apple-ios7.0 < %s | FileCheck -check-prefix=APPLE %s 4; RUN: llc -mtriple=aarch64-apple-tvos7.0 < %s | FileCheck -check-prefix=APPLE %s 5; RUN: llc -mtriple=aarch64-apple-watchos7.0 < %s | FileCheck -check-prefix=APPLE %s 6; RUN: llc -mtriple=aarch64-apple-xros7.0 < %s | FileCheck -check-prefix=APPLE %s 7; RUN: llc -mtriple=aarch64-apple-tvos6.0 < %s | FileCheck -check-prefix=APPLE %s 8; RUN: llc -mtriple=aarch64-apple-xros6.0 < %s | FileCheck -check-prefix=APPLE %s 9; RUN: llc -mtriple=aarch64-apple-xros1.0 < %s | FileCheck -check-prefix=APPLE %s 10; RUN: llc -mtriple=arm64-apple-driverkit < %s | FileCheck -check-prefix=APPLE %s 11; RUN: llc -mtriple=arm64-apple-driverkit1.0 < %s | FileCheck -check-prefix=APPLE %s 12; RUN: llc -mtriple=arm64-apple-driverkit24.0 < %s | FileCheck -check-prefix=APPLE %s 13; RUN: llc -mtriple=arm64-apple-bridgeos < %s | FileCheck -check-prefix=BRIDGEOS %s 14; RUN: llc -mtriple=arm64-apple-bridgeos1.0 < %s | FileCheck -check-prefix=BRIDGEOS %s 15; RUN: llc -mtriple=arm64-apple-bridgeos9.0 < %s | FileCheck -check-prefix=BRIDGEOS %s 16 17; RUN: not llc -mtriple=aarch64-apple-macos10.8 -filetype=null %s 2>&1 | FileCheck -check-prefix=ERR %s 18; RUN: not llc -mtriple=aarch64-apple-ios6.0 -filetype=null %s 2>&1 | FileCheck -check-prefix=ERR %s 19 20; Check exp10/exp10f is emitted as __exp10/__exp10f on assorted systems. 21 22; ERR: no libcall available for fexp10 23 24define float @test_exp10_f32(float %x) { 25; LINUX-LABEL: test_exp10_f32: 26; LINUX: // %bb.0: 27; LINUX-NEXT: b exp10f 28; 29; APPLE-LABEL: test_exp10_f32: 30; APPLE: ; %bb.0: 31; APPLE-NEXT: b ___exp10f 32; 33; BRIDGEOS-LABEL: test_exp10_f32: 34; BRIDGEOS: // %bb.0: 35; BRIDGEOS-NEXT: b __exp10f 36; 37 %ret = call float @llvm.exp10.f32(float %x) 38 ret float %ret 39} 40 41define double @test_exp10_f64(double %x) { 42; LINUX-LABEL: test_exp10_f64: 43; LINUX: // %bb.0: 44; LINUX-NEXT: b exp10 45; 46; APPLE-LABEL: test_exp10_f64: 47; APPLE: ; %bb.0: 48; APPLE-NEXT: b ___exp10 49; 50; BRIDGEOS-LABEL: test_exp10_f64: 51; BRIDGEOS: // %bb.0: 52; BRIDGEOS-NEXT: b __exp10 53; 54 %ret = call double @llvm.exp10.f64(double %x) 55 ret double %ret 56} 57