Mercurial > hg > CbC > CbC_llvm
view test/Transforms/InstCombine/fold-sqrt-sqrtf.ll @ 121:803732b1fca8
LLVM 5.0
author | kono |
---|---|
date | Fri, 27 Oct 2017 17:07:41 +0900 |
parents | 95c75e76d11b |
children |
line wrap: on
line source
; RUN: opt -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)