| Davide Italiano | c8a7913 | 2015-11-03 20:32:23 +0000 | [diff] [blame^] | 1 | ; RUN: opt < %s -instcombine -S | FileCheck %s | 
|  | 2 |  | 
|  | 3 | define double @mypow(double %x, double %y) #0 { | 
|  | 4 | entry: | 
|  | 5 | %call = call double @exp(double %x) | 
|  | 6 | %pow = call double @llvm.pow.f64(double %call, double %y) | 
|  | 7 | ret double %pow | 
|  | 8 | } | 
|  | 9 |  | 
|  | 10 | ; CHECK-LABEL: define double @mypow( | 
|  | 11 | ; CHECK:   %mul = fmul fast double %x, %y | 
|  | 12 | ; CHECK:   %exp = call double @exp(double %mul) #0 | 
|  | 13 | ; CHECK:   ret double %exp | 
|  | 14 | ; CHECK: } | 
|  | 15 |  | 
|  | 16 | declare double @exp(double) #1 | 
|  | 17 | declare double @llvm.pow.f64(double, double) | 
|  | 18 | attributes #0 = { "unsafe-fp-math"="true" } | 
|  | 19 | attributes #1 = { "unsafe-fp-math"="true" } |