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