[DAGCombiner] Add target hook function to decide folding (mul (add x, c1), c2)
[llvm-project.git] / llvm / test / Transforms / InstCombine / exp2-2.ll
blob19368dc48c6b3f96cd282909b9e6e4f10db7fce3
1 ; Test that the exp2 library call simplifier works correctly.
3 ; RUN: opt < %s -instcombine -S | FileCheck %s
5 target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64-f80:128:128"
7 declare float @exp2(double)
9 ; Check that exp2 functions with the wrong prototype aren't simplified.
11 define float @test_no_simplify1(i32 %x) {
12 ; CHECK-LABEL: @test_no_simplify1(
13   %conv = sitofp i32 %x to double
14   %ret = call float @exp2(double %conv)
15 ; CHECK: call float @exp2(double %conv)
16   ret float %ret