~pali/+junk/llvm-toolchain-3.7

« back to all changes in this revision

Viewing changes to test/CodeGen/PowerPC/2007-01-15-AsmDialect.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
; RUN: llc < %s -march=ppc32 -mtriple=powerpc-apple-darwin8 | \
 
2
; RUN:    grep cntlz
 
3
 
 
4
define i32 @foo() nounwind {
 
5
entry:
 
6
        %retval = alloca i32, align 4           ; <i32*> [#uses=2]
 
7
        %temp = alloca i32, align 4             ; <i32*> [#uses=2]
 
8
        %ctz_x = alloca i32, align 4            ; <i32*> [#uses=3]
 
9
        %ctz_c = alloca i32, align 4            ; <i32*> [#uses=2]
 
10
        store i32 61440, i32* %ctz_x
 
11
        %tmp = load i32, i32* %ctz_x            ; <i32> [#uses=1]
 
12
        %tmp1 = sub i32 0, %tmp         ; <i32> [#uses=1]
 
13
        %tmp2 = load i32, i32* %ctz_x           ; <i32> [#uses=1]
 
14
        %tmp3 = and i32 %tmp1, %tmp2            ; <i32> [#uses=1]
 
15
        %tmp4 = call i32 asm "$(cntlz$|cntlzw$) $0,$1", "=r,r,~{dirflag},~{fpsr},~{flags}"( i32 %tmp3 )         ; <i32> [#uses=1]
 
16
        store i32 %tmp4, i32* %ctz_c
 
17
        %tmp5 = load i32, i32* %ctz_c           ; <i32> [#uses=1]
 
18
        store i32 %tmp5, i32* %temp
 
19
        %tmp6 = load i32, i32* %temp            ; <i32> [#uses=1]
 
20
        store i32 %tmp6, i32* %retval
 
21
        br label %return
 
22
 
 
23
return:         ; preds = %entry
 
24
        %retval2 = load i32, i32* %retval               ; <i32> [#uses=1]
 
25
        ret i32 %retval2
 
26
}