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 ;