Mercurial > hg > CbC > CbC_llvm
comparison test/CodeGen/X86/scalar_widen_div.ll @ 95:afa8332a0e37 LLVM3.8
LLVM 3.8
author | Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp> |
---|---|
date | Tue, 13 Oct 2015 17:48:58 +0900 |
parents | 95c75e76d11b |
children | 803732b1fca8 |
comparison
equal
deleted
inserted
replaced
84:f3e34b893a5f | 95:afa8332a0e37 |
---|---|
15 %qdest.addr = alloca <2 x i32> addrspace(1)*, align 4 | 15 %qdest.addr = alloca <2 x i32> addrspace(1)*, align 4 |
16 %index = alloca i32, align 4 | 16 %index = alloca i32, align 4 |
17 store <2 x i32> addrspace(1)* %nsource, <2 x i32> addrspace(1)** %nsource.addr | 17 store <2 x i32> addrspace(1)* %nsource, <2 x i32> addrspace(1)** %nsource.addr |
18 store <2 x i32> addrspace(1)* %dsource, <2 x i32> addrspace(1)** %dsource.addr | 18 store <2 x i32> addrspace(1)* %dsource, <2 x i32> addrspace(1)** %dsource.addr |
19 store <2 x i32> addrspace(1)* %qdest, <2 x i32> addrspace(1)** %qdest.addr | 19 store <2 x i32> addrspace(1)* %qdest, <2 x i32> addrspace(1)** %qdest.addr |
20 %tmp = load <2 x i32> addrspace(1)** %qdest.addr | 20 %tmp = load <2 x i32> addrspace(1)*, <2 x i32> addrspace(1)** %qdest.addr |
21 %tmp1 = load i32* %index | 21 %tmp1 = load i32, i32* %index |
22 %arrayidx = getelementptr <2 x i32> addrspace(1)* %tmp, i32 %tmp1 | 22 %arrayidx = getelementptr <2 x i32>, <2 x i32> addrspace(1)* %tmp, i32 %tmp1 |
23 %tmp2 = load <2 x i32> addrspace(1)** %nsource.addr | 23 %tmp2 = load <2 x i32> addrspace(1)*, <2 x i32> addrspace(1)** %nsource.addr |
24 %tmp3 = load i32* %index | 24 %tmp3 = load i32, i32* %index |
25 %arrayidx4 = getelementptr <2 x i32> addrspace(1)* %tmp2, i32 %tmp3 | 25 %arrayidx4 = getelementptr <2 x i32>, <2 x i32> addrspace(1)* %tmp2, i32 %tmp3 |
26 %tmp5 = load <2 x i32> addrspace(1)* %arrayidx4 | 26 %tmp5 = load <2 x i32>, <2 x i32> addrspace(1)* %arrayidx4 |
27 %tmp6 = load <2 x i32> addrspace(1)** %dsource.addr | 27 %tmp6 = load <2 x i32> addrspace(1)*, <2 x i32> addrspace(1)** %dsource.addr |
28 %tmp7 = load i32* %index | 28 %tmp7 = load i32, i32* %index |
29 %arrayidx8 = getelementptr <2 x i32> addrspace(1)* %tmp6, i32 %tmp7 | 29 %arrayidx8 = getelementptr <2 x i32>, <2 x i32> addrspace(1)* %tmp6, i32 %tmp7 |
30 %tmp9 = load <2 x i32> addrspace(1)* %arrayidx8 | 30 %tmp9 = load <2 x i32>, <2 x i32> addrspace(1)* %arrayidx8 |
31 %tmp10 = sdiv <2 x i32> %tmp5, %tmp9 | 31 %tmp10 = sdiv <2 x i32> %tmp5, %tmp9 |
32 store <2 x i32> %tmp10, <2 x i32> addrspace(1)* %arrayidx | 32 store <2 x i32> %tmp10, <2 x i32> addrspace(1)* %arrayidx |
33 ret void | 33 ret void |
34 } | 34 } |
35 | 35 |
178 bb.nph: | 178 bb.nph: |
179 br label %for.body | 179 br label %for.body |
180 | 180 |
181 for.body: | 181 for.body: |
182 %i.014 = phi i32 [ 0, %bb.nph ], [ %inc, %for.body ] | 182 %i.014 = phi i32 [ 0, %bb.nph ], [ %inc, %for.body ] |
183 %arrayidx11 = getelementptr <3 x i32>* %dest, i32 %i.014 | 183 %arrayidx11 = getelementptr <3 x i32>, <3 x i32>* %dest, i32 %i.014 |
184 %tmp4 = load <3 x i32>* %arrayidx11 ; <<3 x i32>> [#uses=1] | 184 %tmp4 = load <3 x i32>, <3 x i32>* %arrayidx11 ; <<3 x i32>> [#uses=1] |
185 %arrayidx7 = getelementptr inbounds <3 x i32>* %old, i32 %i.014 | 185 %arrayidx7 = getelementptr inbounds <3 x i32>, <3 x i32>* %old, i32 %i.014 |
186 %tmp8 = load <3 x i32>* %arrayidx7 ; <<3 x i32>> [#uses=1] | 186 %tmp8 = load <3 x i32>, <3 x i32>* %arrayidx7 ; <<3 x i32>> [#uses=1] |
187 %div = sdiv <3 x i32> %tmp4, %tmp8 | 187 %div = sdiv <3 x i32> %tmp4, %tmp8 |
188 store <3 x i32> %div, <3 x i32>* %arrayidx11 | 188 store <3 x i32> %div, <3 x i32>* %arrayidx11 |
189 %inc = add nsw i32 %i.014, 1 | 189 %inc = add nsw i32 %i.014, 1 |
190 %exitcond = icmp eq i32 %inc, %n | 190 %exitcond = icmp eq i32 %inc, %n |
191 br i1 %exitcond, label %for.end, label %for.body | 191 br i1 %exitcond, label %for.end, label %for.body |