[InstCombine] Signed saturation patterns
[llvm-core.git] / test / Transforms / InstCombine / fabs-libcall.ll
blob90902bb2fd044e90f0b509eeef0fdbb966de486a
1 ; RUN: opt -S -mtriple=i686-apple-macosx -instcombine %s | FileCheck %s
3 declare x86_fp80 @fabsl(x86_fp80)
5 define x86_fp80 @replace_fabs_call_f80(x86_fp80 %x) {
6 ; CHECK-LABEL: @replace_fabs_call_f80(
7 ; CHECK-NEXT:    [[TMP1:%.*]] = call x86_fp80 @llvm.fabs.f80(x86_fp80 %x)
8 ; CHECK-NEXT:    ret x86_fp80 [[TMP1]]
10   %fabsl = tail call x86_fp80 @fabsl(x86_fp80 %x)
11   ret x86_fp80 %fabsl
14 define x86_fp80 @fmf_replace_fabs_call_f80(x86_fp80 %x) {
15 ; CHECK-LABEL: @fmf_replace_fabs_call_f80(
16 ; CHECK-NEXT:    [[TMP1:%.*]] = call nnan x86_fp80 @llvm.fabs.f80(x86_fp80 %x)
17 ; CHECK-NEXT:    ret x86_fp80 [[TMP1]]
19   %fabsl = tail call nnan x86_fp80 @fabsl(x86_fp80 %x)
20   ret x86_fp80 %fabsl