1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-24 21:42:54 +02:00
llvm-mirror/test/Transforms/InstCombine/fabs-libcall.ll
Matt Arsenault ccfb3dd68e SimplifyLibCalls: Replace fabs libcalls with intrinsics
Add missing fabs(fpext) optimzation that worked with the call,
and also fixes it creating a second fpext when there were multiple
uses.

llvm-svn: 292172
2017-01-17 00:10:40 +00:00

22 lines
661 B
LLVM

; RUN: opt -S -mtriple=i686-apple-macosx -instcombine %s | FileCheck %s
declare x86_fp80 @fabsl(x86_fp80)
; CHECK-LABEL: @replace_fabs_call_f80(
; CHECK-NEXT: %fabsl = call x86_fp80 @llvm.fabs.f80(x86_fp80 %x)
; CHECK-NEXT: ret x86_fp80 %fabsl
define x86_fp80 @replace_fabs_call_f80(x86_fp80 %x) {
%fabsl = tail call x86_fp80 @fabsl(x86_fp80 %x)
ret x86_fp80 %fabsl
}
; CHECK-LABEL: @fmf_replace_fabs_call_f80(
; CHECK-NEXT: %fabsl = call nnan x86_fp80 @llvm.fabs.f80(x86_fp80 %x)
; CHECK-NEXT: ret x86_fp80 %fabsl
define x86_fp80 @fmf_replace_fabs_call_f80(x86_fp80 %x) {
%fabsl = tail call nnan x86_fp80 @fabsl(x86_fp80 %x)
ret x86_fp80 %fabsl
}