Files
clang-p2996/llvm/test/Transforms/InstCombine/fold-sqrt-sqrtf.ll
Bjorn Pettersson acdc419c89 [test] Use -passes=instcombine instead of -instcombine in lots of tests. NFC
Another step moving away from the deprecated syntax of specifying
pass pipeline in opt.

Differential Revision: https://reviews.llvm.org/D119081
2022-02-07 14:26:59 +01:00

18 lines
590 B
LLVM

; RUN: opt -passes=instcombine -S -disable-simplify-libcalls < %s | FileCheck %s
; rdar://10466410
; Instcombine tries to fold (fptrunc (sqrt (fpext x))) -> (sqrtf x), but this
; shouldn't fold when sqrtf isn't available.
define float @foo(float %f) uwtable ssp {
entry:
; CHECK: %conv = fpext float %f to double
; CHECK: %call = tail call double @sqrt(double %conv)
; CHECK: %conv1 = fptrunc double %call to float
%conv = fpext float %f to double
%call = tail call double @sqrt(double %conv)
%conv1 = fptrunc double %call to float
ret float %conv1
}
declare double @sqrt(double)