[x86] Fold extract_vector_elt of a load into the Load's address computation.
[oota-llvm.git] / test / CodeGen / X86 / fp_constant_op.ll
1 ; RUN: llc < %s -march=x86 -x86-asm-syntax=intel -mcpu=i486 | FileCheck %s
2 ; Test that the load of the constant is folded into the operation.
3
4
5 define double @foo_add(double %P) {
6         %tmp.1 = fadd double %P, 1.230000e+02           ; <double> [#uses=1]
7         ret double %tmp.1
8 }
9 ; CHECK-LABEL: foo_add:
10 ; CHECK: fadd dword ptr
11
12 define double @foo_mul(double %P) {
13         %tmp.1 = fmul double %P, 1.230000e+02           ; <double> [#uses=1]
14         ret double %tmp.1
15 }
16 ; CHECK-LABEL: foo_mul:
17 ; CHECK: fmul dword ptr
18
19 define double @foo_sub(double %P) {
20         %tmp.1 = fsub double %P, 1.230000e+02           ; <double> [#uses=1]
21         ret double %tmp.1
22 }
23 ; CHECK-LABEL: foo_sub:
24 ; CHECK: fadd dword ptr
25
26 define double @foo_subr(double %P) {
27         %tmp.1 = fsub double 1.230000e+02, %P           ; <double> [#uses=1]
28         ret double %tmp.1
29 }
30 ; CHECK-LABEL: foo_subr:
31 ; CHECK: fsub qword ptr
32
33 define double @foo_div(double %P) {
34         %tmp.1 = fdiv double %P, 1.230000e+02           ; <double> [#uses=1]
35         ret double %tmp.1
36 }
37 ; CHECK-LABEL: foo_div:
38 ; CHECK: fdiv dword ptr
39
40 define double @foo_divr(double %P) {
41         %tmp.1 = fdiv double 1.230000e+02, %P           ; <double> [#uses=1]
42         ret double %tmp.1
43 }
44 ; CHECK-LABEL: foo_divr:
45 ; CHECK: fdiv qword ptr
46