Home | History | Annotate | Download | only in InstCombine

Lines Matching full:i16

3 target datalayout = "E-p:64:64:64-a0:0:8-f32:32:32-f64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-v64:64:64-v128:128:128-n8:16:32:64"
15 %c1 = zext i8 %A to i16 ; <i16> [#uses=1]
16 %c2 = zext i16 %c1 to i32 ; <i32> [#uses=1]
78 define i16 @test9(i16 %A) {
79 %c1 = sext i16 %A to i32 ; <i32> [#uses=1]
80 %c2 = trunc i32 %c1 to i16 ; <i16> [#uses=1]
81 ret i16 %c2
82 ; CHECK: ret i16 %A
85 define i16 @test10(i16 %A) {
86 %c1 = sext i16 %A to i32 ; <i32> [#uses=1]
87 %c2 = trunc i32 %c1 to i16 ; <i16> [#uses=1]
88 ret i16 %c2
89 ; CHECK: ret i16 %A
95 %c = bitcast i32* %P to i16* ; <i16*> [#uses=1]
96 call void (i32, ...)* @varargs( i32 5, i16* %c )
132 define i16 @test17(i1 %tmp3) {
134 %t86 = trunc i32 %c to i16 ; <i16> [#uses=1]
135 ret i16 %t86
136 ; CHECK: %t86 = zext i1 %tmp3 to i16
137 ; CHECK: ret i16 %t86
140 define i16 @test18(i8 %tmp3) {
142 %t86 = trunc i32 %c to i16 ; <i16> [#uses=1]
143 ret i16 %t86
144 ; CHECK: %t86 = sext i8 %tmp3 to i16
145 ; CHECK: ret i16 %t86
186 %c1 = trunc i32 %X to i16 ; <i16> [#uses=1]
188 %c2 = zext i16 %c1 to i32 ; <i32> [#uses=1]
272 define i16 @test34(i16 %a) {
273 %c1 = zext i16 %a to i32 ; <i32> [#uses=1]
275 %c2 = trunc i32 %tmp21 to i16 ; <i16> [#uses=1]
276 ret i16 %c2
277 ; CHECK: %tmp21 = lshr i16 %a, 8
278 ; CHECK: ret i16 %tmp21
281 define i16 @test35(i16 %a) {
282 %c1 = bitcast i16 %a to i16 ; <i16> [#uses=1]
283 %tmp2 = lshr i16 %c1, 8 ; <i16> [#uses=1]
284 %c2 = bitcast i16 %tmp2 to i16 ; <i16> [#uses=1]
285 ret i16 %c2
286 ; CHECK: %tmp2 = lshr i16 %a, 8
287 ; CHECK: ret i16 %tmp2
322 define i16 @test39(i16 %a) {
323 %tmp = zext i16 %a to i32
327 %tmp.upgrd.3 = trunc i32 %tmp.upgrd.32 to i16
328 ret i16 %tmp.upgrd.3
330 ; CHECK: %tmp.upgrd.32 = call i16 @llvm.bswap.i16(i16 %a)
331 ; CHECK: ret i16 %tmp.upgrd.32
334 define i16 @test40(i16 %a) {
335 %tmp = zext i16 %a to i32
339 %tmp.upgrd.3 = trunc i32 %tmp.upgrd.32 to i16
340 ret i16 %tmp.upgrd.3
342 ; CHECK: %tmp21 = lshr i16 %a, 9
343 ; CHECK: %tmp5 = shl i16 %a, 8
344 ; CHECK: %tmp.upgrd.32 = or i16 %tmp21, %tmp5
345 ; CHECK: ret i16 %tmp.upgrd.32
378 %A = zext i8 %T to i16
379 %B = or i16 %A, 1234
380 %C = zext i16 %B to i64
485 %B = trunc i64 %A to i16
486 %C = or i16 %B, -32574
487 %D = and i16 %C, -25350
488 %E = zext i16 %D to i32
498 %B = trunc i32 %A to i16
499 %C = or i16 %B, -32574
500 %D = and i16 %C, -25350
501 %E = zext i16 %D to i64
511 %B = trunc i64 %A to i16
512 %C = or i16 %B, -32574
513 %D = and i16 %C, -25350
514 %E = sext i16 %D to i32
524 %B = trunc i32 %A to i16
525 %C = or i16 %B, -32574
526 %D = and i16 %C, -25350
527 %E = sext i16 %D to i64
536 define i64 @test56(i16 %A) nounwind {
537 %tmp353 = sext i16 %A to i32
542 ; CHECK-NEXT: %tmp353 = sext i16 %A to i64