Lines Matching full:exp

4 declare double @llvm.exp.f64(double) nounwind readnone speculatable
7 ; exp(a) * exp(b) no reassoc flags
10 ; CHECK-NEXT: [[T:%.*]] = call double @llvm.exp.f64(double [[A:%.*]])
11 ; CHECK-NEXT: [[T1:%.*]] = call double @llvm.exp.f64(double [[B:%.*]])
15 %t = call double @llvm.exp.f64(double %a)
16 %t1 = call double @llvm.exp.f64(double %b)
21 ; exp(a) * exp(b) reassoc, multiple uses
24 ; CHECK-NEXT: [[T1:%.*]] = call double @llvm.exp.f64(double [[B:%.*]])
26 ; CHECK-NEXT: [[MUL:%.*]] = call reassoc double @llvm.exp.f64(double [[TMP1]])
30 %t = call double @llvm.exp.f64(double %a)
31 %t1 = call double @llvm.exp.f64(double %b)
37 ; exp(a) * exp(b) reassoc, both with multiple uses
40 ; CHECK-NEXT: [[T:%.*]] = call double @llvm.exp.f64(double [[A:%.*]])
41 ; CHECK-NEXT: [[T1:%.*]] = call double @llvm.exp.f64(double [[B:%.*]])
47 %t = call double @llvm.exp.f64(double %a)
48 %t1 = call double @llvm.exp.f64(double %b)
55 ; exp(a) * exp(b) => exp(a+b) with reassoc
59 ; CHECK-NEXT: [[MUL:%.*]] = call reassoc double @llvm.exp.f64(double [[TMP1]])
62 %t = call double @llvm.exp.f64(double %a)
63 %t1 = call double @llvm.exp.f64(double %b)
71 ; CHECK-NEXT: [[M:%.*]] = call reassoc double @llvm.exp.f64(double [[TMP1]])
74 %t = call double @llvm.exp.f64(double %a)
83 ; CHECK-NEXT: [[T:%.*]] = call double @llvm.exp.f64(double [[A:%.*]])
88 %t = call double @llvm.exp.f64(double %a)
94 ; exp(a) * exp(b) * exp(c) * exp(d) => exp(a+b+c+d) with reassoc
100 ; CHECK-NEXT: [[MUL2:%.*]] = call reassoc double @llvm.exp.f64(double [[TMP3]])
103 %t = call double @llvm.exp.f64(double %a)
104 %t1 = call double @llvm.exp.f64(double %b)
106 %t2 = call double @llvm.exp.f64(double %c)
108 %t3 = call double @llvm.exp.f64(double %d)