Mercurial > hg > CbC > CbC_llvm
comparison test/CodeGen/X86/2011-12-08-AVXISelBugs.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 |
---|---|
11 | 11 |
12 loop: ; preds = %loop.cond | 12 loop: ; preds = %loop.cond |
13 br i1 undef, label %0, label %t1.exit | 13 br i1 undef, label %0, label %t1.exit |
14 | 14 |
15 ; <label>:0 ; preds = %loop | 15 ; <label>:0 ; preds = %loop |
16 %1 = load <16 x i32> addrspace(1)* undef, align 64 | 16 %1 = load <16 x i32>, <16 x i32> addrspace(1)* undef, align 64 |
17 %2 = shufflevector <16 x i32> <i32 0, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>, <16 x i32> %1, <16 x i32> <i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 16, i32 0, i32 0> | 17 %2 = shufflevector <16 x i32> <i32 0, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>, <16 x i32> %1, <16 x i32> <i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 16, i32 0, i32 0> |
18 store <16 x i32> %2, <16 x i32> addrspace(1)* undef, align 64 | 18 store <16 x i32> %2, <16 x i32> addrspace(1)* undef, align 64 |
19 br label %t1.exit | 19 br label %t1.exit |
20 | 20 |
21 t1.exit: ; preds = %0, %loop | 21 t1.exit: ; preds = %0, %loop |
27 | 27 |
28 define void @t2() nounwind { | 28 define void @t2() nounwind { |
29 br i1 undef, label %1, label %4 | 29 br i1 undef, label %1, label %4 |
30 | 30 |
31 ; <label>:1 ; preds = %0 | 31 ; <label>:1 ; preds = %0 |
32 %2 = load <16 x i32> addrspace(1)* undef, align 64 | 32 %2 = load <16 x i32>, <16 x i32> addrspace(1)* undef, align 64 |
33 %3 = shufflevector <16 x i32> <i32 0, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>, <16 x i32> %2, <16 x i32> <i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 20, i32 0, i32 0, i32 0, i32 0> | 33 %3 = shufflevector <16 x i32> <i32 0, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>, <16 x i32> %2, <16 x i32> <i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 20, i32 0, i32 0, i32 0, i32 0> |
34 store <16 x i32> %3, <16 x i32> addrspace(1)* undef, align 64 | 34 store <16 x i32> %3, <16 x i32> addrspace(1)* undef, align 64 |
35 br label %4 | 35 br label %4 |
36 | 36 |
37 ; <label>:4 ; preds = %1, %0 | 37 ; <label>:4 ; preds = %1, %0 |
48 loop: ; preds = %loop.cond | 48 loop: ; preds = %loop.cond |
49 br i1 undef, label %0, label %t2.exit | 49 br i1 undef, label %0, label %t2.exit |
50 | 50 |
51 ; <label>:0 ; preds = %loop | 51 ; <label>:0 ; preds = %loop |
52 %1 = shufflevector <16 x i32> <i32 0, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>, <16 x i32> undef, <16 x i32> <i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 25, i32 0> | 52 %1 = shufflevector <16 x i32> <i32 0, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>, <16 x i32> undef, <16 x i32> <i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 25, i32 0> |
53 %2 = load <16 x i32> addrspace(1)* undef, align 64 | 53 %2 = load <16 x i32>, <16 x i32> addrspace(1)* undef, align 64 |
54 %3 = shufflevector <16 x i32> <i32 0, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>, <16 x i32> %2, <16 x i32> <i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 28, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0> | 54 %3 = shufflevector <16 x i32> <i32 0, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>, <16 x i32> %2, <16 x i32> <i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 28, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0> |
55 store <16 x i32> %3, <16 x i32> addrspace(1)* undef, align 64 | 55 store <16 x i32> %3, <16 x i32> addrspace(1)* undef, align 64 |
56 br label %t2.exit | 56 br label %t2.exit |
57 | 57 |
58 t2.exit: ; preds = %0, %loop | 58 t2.exit: ; preds = %0, %loop |
62 ret void | 62 ret void |
63 } | 63 } |
64 | 64 |
65 define <3 x i64> @t4() nounwind { | 65 define <3 x i64> @t4() nounwind { |
66 entry: | 66 entry: |
67 %0 = load <2 x i64> addrspace(1)* undef, align 16 | 67 %0 = load <2 x i64>, <2 x i64> addrspace(1)* undef, align 16 |
68 %1 = extractelement <2 x i64> %0, i32 0 | 68 %1 = extractelement <2 x i64> %0, i32 0 |
69 %2 = insertelement <3 x i64> <i64 undef, i64 0, i64 0>, i64 %1, i32 0 | 69 %2 = insertelement <3 x i64> <i64 undef, i64 0, i64 0>, i64 %1, i32 0 |
70 ret <3 x i64> %2 | 70 ret <3 x i64> %2 |
71 } | 71 } |
72 | 72 |