Home | History | Annotate | Download | only in BBVectorize

Lines Matching full:double

5 define double @test1(double %A1, double %A2, double %B1, double %B2) {
7 ; CHECK: %X1.v.i1.1 = insertelement <2 x double> undef, double %B1, i32 0
8 ; CHECK: %X1.v.i0.1 = insertelement <2 x double> undef, double %A1, i32 0
9 ; CHECK: %X1.v.i1.2 = insertelement <2 x double> %X1.v.i1.1, double %B2, i32 1
10 ; CHECK: %X1.v.i0.2 = insertelement <2 x double> %X1.v.i0.1, double %A2, i32 1
11 %X1 = fsub double %A1, %B1
12 %X2 = fsub double %A2, %B2
13 ; CHECK: %X1 = fsub <2 x double> %X1.v.i0.2, %X1.v.i1.2
14 %Y1 = fmul double %X1, %A1
15 %Y2 = fmul double %X2, %A2
16 ; CHECK: %Y1 = fmul <2 x double> %X1, %X1.v.i0.2
17 %Z1 = fadd double %Y1, %B1
18 %Z2 = fadd double %Y2, %B2
19 ; CHECK: %Z1 = fadd <2 x double> %Y1, %X1.v.i1.2
20 %R = fmul double %Z1, %Z2
21 ; CHECK: %Z1.v.r1 = extractelement <2 x double> %Z1, i32 0
22 ; CHECK: %Z1.v.r2 = extractelement <2 x double> %Z1, i32 1
23 ; CHECK: %R = fmul double %Z1.v.r1, %Z1.v.r2
24 ret double %R
25 ; CHECK: ret double %R
29 define double @test2(double %A1, double %A2, double %B1, double %B2) {
31 ; CHECK: %X1.v.i1.1 = insertelement <2 x double> undef, double %B1, i32 0
32 ; CHECK: %X1.v.i0.1 = insertelement <2 x double> undef, double %A1, i32 0
33 ; CHECK: %X1.v.i1.2 = insertelement <2 x double> %X1.v.i1.1, double %B2, i32 1
34 ; CHECK: %X1.v.i0.2 = insertelement <2 x double> %X1.v.i0.1, double %A2, i32 1
35 %X1 = fsub double %A1, %B1
36 %X2 = fsub double %A2, %B2
37 ; CHECK: %X1 = fsub <2 x double> %X1.v.i0.2, %X1.v.i1.2
38 %Y1 = fmul double %X1, %A1
39 %Y2 = fmul double %X2, %A2
40 ; CHECK: %Y1 = fmul <2 x double> %X1, %X1.v.i0.2
41 %Z1 = fadd double %Y2, %B1
42 %Z2 = fadd double %Y1, %B2
43 ; CHECK: %Z1.v.i0 = shufflevector <2 x double> %Y1, <2 x double> undef, <2 x i32> <i32 1, i32 0>
44 ; CHECK: %Z1 = fadd <2 x double> %Z1.v.i0, %X1.v.i1.2
45 %R = fmul double %Z1, %Z2
46 ; CHECK: %Z1.v.r1 = extractelement <2 x double> %Z1, i32 0
47 ; CHECK: %Z1.v.r2 = extractelement <2 x double> %Z1, i32 1
48 ; CHECK: %R = fmul double %Z1.v.r1, %Z1.v.r2
49 ret double %R
50 ; CHECK: ret double %R
54 define double @test3(double %A1, double %A2, double %B1, double %B2) {
56 ; CHECK: %X1.v.i1.1 = insertelement <2 x double> undef, double %B1, i32 0
57 ; CHECK: %X1.v.i0.1 = insertelement <2 x double> undef, double %A1, i32 0
58 ; CHECK: %X1.v.i1.2 = insertelement <2 x double> %X1.v.i1.1, double %B2, i32 1
59 ; CHECK: %X1.v.i0.2 = insertelement <2 x double> %X1.v.i0.1, double %A2, i32 1
60 %X1 = fsub double %A1, %B1
61 %X2 = fsub double %A2, %B2
62 ; CHECK: %X1 = fsub <2 x double> %X1.v.i0.2, %X1.v.i1.2
63 %Y1 = fmul double %X1, %A1
64 %Y2 = fmul double %X2, %A2
65 ; CHECK: %Y1 = fmul <2 x double> %X1, %X1.v.i0.2
66 %Z1 = fadd double %Y2, %B1
67 %Z2 = fadd double %Y2, %B2
68 ; CHECK: %Z1.v.i0 = shufflevector <2 x double> %Y1, <2 x double> undef, <2 x i32> <i32 1, i32 1>
69 ; CHECK: %Z1 = fadd <2 x double> %Z1.v.i0, %X1.v.i1.2
70 %R = fmul double %Z1, %Z2
71 ; CHECK: %Z1.v.r1 = extractelement <2 x double> %Z1, i32 0
72 ; CHECK: %Z1.v.r2 = extractelement <2 x double> %Z1, i32 1
73 ; CHECK: %R = fmul double %Z1.v.r1, %Z1.v.r2
74 ret double %R
75 ; CHECK: ret double %R
79 define double @test4(double %A1, double %A2, double %B1, double %B2) {
81 ; CHECK: %X1.v.i1.1 = insertelement <2 x double> undef, double %B1, i32 0
82 ; CHECK: %X1.v.i0.1 = insertelement <2 x double> undef, double %A1, i32 0
83 ; CHECK: %X1.v.i1.2 = insertelement <2 x double> %X1.v.i1.1, double %B2, i32 1
84 ; CHECK: %X1.v.i0.2 = insertelement <2 x double> %X1.v.i0.1, double %A2, i32 1
85 %X1 = fsub double %A1, %B1
86 %X2 = fsub double %A2, %B2
87 ; CHECK: %X1 = fsub <2 x double> %X1.v.i0.2, %X1.v.i1.2
88 %Y1 = fmul double %X1, %A1
89 %Y2 = fmul double %X2, %A2
90 ; CHECK: %Y1 = fmul <2 x double> %X1, %X1.v.i0.2
91 %Z1 = fadd double %Y1, %B1
92 %Z2 = fadd double %Y1, %B2
93 ; CHECK: %Z1.v.i0 = shufflevector <2 x double> %Y1, <2 x double> undef, <2 x i32> zeroinitializer
94 ; CHECK: %Z1 = fadd <2 x double> %Z1.v.i0, %X1.v.i1.2
95 %R = fmul double %Z1, %Z2
96 ; CHECK: %Z1.v.r1 = extractelement <2 x double> %Z1, i32 0
97 ; CHECK: %Z1.v.r2 = extractelement <2 x double> %Z1, i32 1
98 ; CHECK: %R = fmul double %Z1.v.r1, %Z1.v.r2
99 ret double %R
100 ; CHECK: ret double %R