-
Notifications
You must be signed in to change notification settings - Fork 12.6k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
CodeGen: Fix libcall names for exp10 on the various darwins
It's really great that we have the same information duplicated in TargetLibraryInfo and RuntimeLibcalls which both assume everything by default. Should fix issue reported after #92287
- Loading branch information
Showing
5 changed files
with
155 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
; RUN: llc -mtriple=aarch64-linux-gnu < %s | FileCheck -check-prefix=LINUX %s | ||
; RUN: llc -mtriple=aarch64-apple-macos10.9 < %s | FileCheck -check-prefix=APPLE %s | ||
; RUN: llc -mtriple=aarch64-apple-ios7.0 < %s | FileCheck -check-prefix=APPLE %s | ||
; RUN: llc -mtriple=aarch64-apple-tvos7.0 < %s | FileCheck -check-prefix=APPLE %s | ||
; RUN: llc -mtriple=aarch64-apple-watchos7.0 < %s | FileCheck -check-prefix=APPLE %s | ||
; RUN: llc -mtriple=aarch64-apple-xros7.0 < %s | FileCheck -check-prefix=APPLE %s | ||
|
||
; RUN: not llc -mtriple=aarch64-apple-macos10.8 -filetype=null %s 2>&1 | FileCheck -check-prefix=ERR %s | ||
; RUN: not llc -mtriple=aarch64-apple-ios6.0 -filetype=null %s 2>&1 | FileCheck -check-prefix=ERR %s | ||
; RUN: not llc -mtriple=aarch64-apple-tvos6.0 -filetype=null %s 2>&1 | FileCheck -check-prefix=ERR %s | ||
; RUN: not llc -mtriple=aarch64-apple-xros6.0 -filetype=null %s 2>&1 | FileCheck -check-prefix=ERR %s | ||
|
||
; Check exp10/exp10f is emitted as __exp10/__exp10f on assorted systems. | ||
|
||
; ERR: no libcall available for fexp10 | ||
|
||
define float @test_exp10_f32(float %x) { | ||
; LINUX-LABEL: test_exp10_f32: | ||
; LINUX: // %bb.0: | ||
; LINUX-NEXT: b exp10f | ||
; | ||
; APPLE-LABEL: test_exp10_f32: | ||
; APPLE: ; %bb.0: | ||
; APPLE-NEXT: b ___exp10f | ||
%ret = call float @llvm.exp10.f32(float %x) | ||
ret float %ret | ||
} | ||
|
||
define double @test_exp10_f64(double %x) { | ||
; LINUX-LABEL: test_exp10_f64: | ||
; LINUX: // %bb.0: | ||
; LINUX-NEXT: b exp10 | ||
; | ||
; APPLE-LABEL: test_exp10_f64: | ||
; APPLE: ; %bb.0: | ||
; APPLE-NEXT: b ___exp10 | ||
%ret = call double @llvm.exp10.f64(double %x) | ||
ret double %ret | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
; RUN: llc -mtriple=armv7-linux-gnu < %s | FileCheck -check-prefix=LINUX %s | ||
; RUN: llc -mtriple=armv7-apple-macos10.9 < %s | FileCheck -check-prefix=APPLE %s | ||
; RUN: llc -mtriple=armv7-apple-ios7.0 < %s | FileCheck -check-prefix=APPLE %s | ||
; RUN: llc -mtriple=armv7-apple-tvos7.0 < %s | FileCheck -check-prefix=APPLE %s | ||
; RUN: llc -mtriple=armv7-apple-watchos7.0 < %s | FileCheck -check-prefix=APPLE %s | ||
; RUN: llc -mtriple=armv7-apple-xros7.0 < %s | FileCheck -check-prefix=APPLE %s | ||
|
||
; RUN: not llc -mtriple=armv7-apple-macos10.8 -filetype=null %s 2>&1 | FileCheck -check-prefix=ERR %s | ||
; RUN: not llc -mtriple=armv7-apple-ios6.0 -filetype=null %s 2>&1 | FileCheck -check-prefix=ERR %s | ||
; RUN: not llc -mtriple=armv7-apple-tvos6.0 -filetype=null %s 2>&1 | FileCheck -check-prefix=ERR %s | ||
; RUN: not llc -mtriple=armv7-apple-xros6.0 -filetype=null %s 2>&1 | FileCheck -check-prefix=ERR %s | ||
|
||
; Check exp10/exp10f is emitted as __exp10/__exp10f on assorted systems. | ||
|
||
; ERR: no libcall available for fexp10 | ||
|
||
define float @test_exp10_f32(float %x) { | ||
; LINUX-LABEL: test_exp10_f32: | ||
; LINUX: @ %bb.0: | ||
; LINUX-NEXT: b exp10f | ||
; | ||
; APPLE-LABEL: test_exp10_f32: | ||
; APPLE: @ %bb.0: | ||
; APPLE-NEXT: b ___exp10f | ||
%ret = call float @llvm.exp10.f32(float %x) | ||
ret float %ret | ||
} | ||
|
||
define double @test_exp10_f64(double %x) { | ||
; LINUX-LABEL: test_exp10_f64: | ||
; LINUX: @ %bb.0: | ||
; LINUX-NEXT: b exp10 | ||
; | ||
; APPLE-LABEL: test_exp10_f64: | ||
; APPLE: @ %bb.0: | ||
; APPLE-NEXT: b ___exp10 | ||
%ret = call double @llvm.exp10.f64(double %x) | ||
ret double %ret | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,40 @@ | ||
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 4 | ||
; RUN: llc -mtriple=x86_64-linux-gnu < %s | FileCheck -check-prefix=LINUX %s | ||
; RUN: llc -mtriple=x86_64-apple-macos10.9 < %s | FileCheck -check-prefix=APPLE %s | ||
; RUN: llc -mtriple=x86_64-apple-ios9.0 < %s | FileCheck -check-prefix=APPLE %s | ||
; RUN: llc -mtriple=x86_64-apple-tvos9.0 < %s | FileCheck -check-prefix=APPLE %s | ||
; RUN: llc -mtriple=x86_64-apple-watchos9.0 < %s | FileCheck -check-prefix=APPLE %s | ||
; RUN: llc -mtriple=x86_64-apple-xros9.0 < %s | FileCheck -check-prefix=APPLE %s | ||
|
||
; RUN: not llc -mtriple=x86_64-apple-macos10.8 -filetype=null %s 2>&1 | FileCheck -check-prefix=ERR %s | ||
; RUN: not llc -mtriple=x86_64-apple-ios8.0 -filetype=null %s 2>&1 | FileCheck -check-prefix=ERR %s | ||
; RUN: not llc -mtriple=x86_64-apple-tvos8.0 -filetype=null %s 2>&1 | FileCheck -check-prefix=ERR %s | ||
; RUN: not llc -mtriple=x86_64-apple-xros8.0 -filetype=null %s 2>&1 | FileCheck -check-prefix=ERR %s | ||
|
||
; Check exp10/exp10f is emitted as __exp10/__exp10f on assorted systems. | ||
|
||
; ERR: no libcall available for fexp10 | ||
|
||
define float @test_exp10_f32(float %x) { | ||
; LINUX-LABEL: test_exp10_f32: | ||
; LINUX: # %bb.0: | ||
; LINUX-NEXT: jmp exp10f@PLT # TAILCALL | ||
; | ||
; APPLE-LABEL: test_exp10_f32: | ||
; APPLE: ## %bb.0: | ||
; APPLE-NEXT: jmp ___exp10f ## TAILCALL | ||
%ret = call float @llvm.exp10.f32(float %x) | ||
ret float %ret | ||
} | ||
|
||
define double @test_exp10_f64(double %x) { | ||
; LINUX-LABEL: test_exp10_f64: | ||
; LINUX: # %bb.0: | ||
; LINUX-NEXT: jmp exp10@PLT # TAILCALL | ||
; | ||
; APPLE-LABEL: test_exp10_f64: | ||
; APPLE: ## %bb.0: | ||
; APPLE-NEXT: jmp ___exp10 ## TAILCALL | ||
%ret = call double @llvm.exp10.f64(double %x) | ||
ret double %ret | ||
} |