Mercurial > hg > CbC > CbC_llvm
comparison test/CodeGen/Generic/select.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 | 54457678186b |
children |
comparison
equal
deleted
inserted
replaced
84:f3e34b893a5f | 95:afa8332a0e37 |
---|---|
68 define i32* @castconst(float) { | 68 define i32* @castconst(float) { |
69 %castbig = trunc i64 99999999 to i32 ; <i32> [#uses=1] | 69 %castbig = trunc i64 99999999 to i32 ; <i32> [#uses=1] |
70 %castsmall = trunc i64 1 to i32 ; <i32> [#uses=1] | 70 %castsmall = trunc i64 1 to i32 ; <i32> [#uses=1] |
71 %usebig = add i32 %castbig, %castsmall ; <i32> [#uses=0] | 71 %usebig = add i32 %castbig, %castsmall ; <i32> [#uses=0] |
72 %castglob = bitcast i32* @AConst to i64* ; <i64*> [#uses=1] | 72 %castglob = bitcast i32* @AConst to i64* ; <i64*> [#uses=1] |
73 %dummyl = load i64* %castglob ; <i64> [#uses=0] | 73 %dummyl = load i64, i64* %castglob ; <i64> [#uses=0] |
74 %castnull = inttoptr i64 0 to i32* ; <i32*> [#uses=1] | 74 %castnull = inttoptr i64 0 to i32* ; <i32*> [#uses=1] |
75 ret i32* %castnull | 75 ret i32* %castnull |
76 } | 76 } |
77 | 77 |
78 ; Test branch-on-comparison-with-zero, in two ways: | 78 ; Test branch-on-comparison-with-zero, in two ways: |
153 %reg114 = shl i32 %N, 2 ; <i32> [#uses=1] | 153 %reg114 = shl i32 %N, 2 ; <i32> [#uses=1] |
154 %cast115 = sext i32 %reg114 to i64 ; <i64> [#uses=1] | 154 %cast115 = sext i32 %reg114 to i64 ; <i64> [#uses=1] |
155 %cast116 = ptrtoint i32* %A to i64 ; <i64> [#uses=1] | 155 %cast116 = ptrtoint i32* %A to i64 ; <i64> [#uses=1] |
156 %reg116 = add i64 %cast116, %cast115 ; <i64> [#uses=1] | 156 %reg116 = add i64 %cast116, %cast115 ; <i64> [#uses=1] |
157 %castPtr = inttoptr i64 %reg116 to i32* ; <i32*> [#uses=1] | 157 %castPtr = inttoptr i64 %reg116 to i32* ; <i32*> [#uses=1] |
158 %reg118 = load i32* %castPtr ; <i32> [#uses=1] | 158 %reg118 = load i32, i32* %castPtr ; <i32> [#uses=1] |
159 %cast117 = sext i32 %reg118 to i64 ; <i64> [#uses=2] | 159 %cast117 = sext i32 %reg118 to i64 ; <i64> [#uses=2] |
160 %reg159 = add i64 1234567, %cast117 ; <i64> [#uses=0] | 160 %reg159 = add i64 1234567, %cast117 ; <i64> [#uses=0] |
161 %reg160 = add i64 7654321, %cast117 ; <i64> [#uses=0] | 161 %reg160 = add i64 7654321, %cast117 ; <i64> [#uses=0] |
162 ret i32 0 | 162 ret i32 0 |
163 } | 163 } |
178 } | 178 } |
179 | 179 |
180 ; Test case for folding getelementptr into a load/store | 180 ; Test case for folding getelementptr into a load/store |
181 ; | 181 ; |
182 define i32 @checkFoldGEP(%Domain* %D, i64 %idx) { | 182 define i32 @checkFoldGEP(%Domain* %D, i64 %idx) { |
183 %reg841 = getelementptr %Domain* %D, i64 0, i32 1 ; <i32*> [#uses=1] | 183 %reg841 = getelementptr %Domain, %Domain* %D, i64 0, i32 1 ; <i32*> [#uses=1] |
184 %reg820 = load i32* %reg841 ; <i32> [#uses=1] | 184 %reg820 = load i32, i32* %reg841 ; <i32> [#uses=1] |
185 ret i32 %reg820 | 185 ret i32 %reg820 |
186 } | 186 } |
187 | 187 |
188 ; Test case for scalarising a 1 element vselect | 188 ; Test case for scalarising a 1 element vselect |
189 ; | 189 ; |