~pali/+junk/llvm-toolchain-3.7

« back to all changes in this revision

Viewing changes to test/Transforms/InstCombine/apint-cast.ll

  • Committer: Package Import Robot
  • Author(s): Sylvestre Ledru
  • Date: 2015-07-15 17:51:08 UTC
  • Revision ID: package-import@ubuntu.com-20150715175108-l8mynwovkx4zx697
Tags: upstream-3.7~+rc2
ImportĀ upstreamĀ versionĀ 3.7~+rc2

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
; Tests to make sure elimination of casts is working correctly
 
2
; RUN: opt < %s -instcombine -S | FileCheck %s
 
3
 
 
4
target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128"
 
5
 
 
6
define i17 @test1(i17 %a) {
 
7
        %tmp = zext i17 %a to i37               ; <i37> [#uses=2]
 
8
        %tmp21 = lshr i37 %tmp, 8               ; <i37> [#uses=1]
 
9
; CHECK: %tmp21 = lshr i17 %a, 8
 
10
        %tmp5 = shl i37 %tmp, 8         ; <i37> [#uses=1]
 
11
; CHECK: %tmp5 = shl i17 %a, 8
 
12
        %tmp.upgrd.32 = or i37 %tmp21, %tmp5            ; <i37> [#uses=1]
 
13
; CHECK: %tmp.upgrd.32 = or i17 %tmp21, %tmp5
 
14
        %tmp.upgrd.3 = trunc i37 %tmp.upgrd.32 to i17   ; <i17> [#uses=1]
 
15
        ret i17 %tmp.upgrd.3
 
16
; CHECK: ret i17 %tmp.upgrd.32
 
17
}
 
18
 
 
19
define i167 @test2(i167 %a) {
 
20
        %tmp = zext i167 %a to i577               ; <i577> [#uses=2]
 
21
        %tmp21 = lshr i577 %tmp, 9               ; <i577> [#uses=1]
 
22
; CHECK: %tmp21 = lshr i167 %a, 9
 
23
        %tmp5 = shl i577 %tmp, 8         ; <i577> [#uses=1]
 
24
; CHECK: %tmp5 = shl i167 %a, 8
 
25
        %tmp.upgrd.32 = or i577 %tmp21, %tmp5            ; <i577> [#uses=1]
 
26
; CHECK: %tmp.upgrd.32 = or i167 %tmp21, %tmp5
 
27
        %tmp.upgrd.3 = trunc i577 %tmp.upgrd.32 to i167  ; <i167> [#uses=1]
 
28
        ret i167 %tmp.upgrd.3
 
29
; CHECK: ret i167 %tmp.upgrd.32
 
30
}