27 lines · plain
1; RUN: llc -verify-machineinstrs < %s -mtriple=powerpc-unknown-linux-gnu | FileCheck %s2 3define i32 @foo() nounwind {4entry:5; CHECK: cntlzw 3, 36 %retval = alloca i32, align 4 ; <ptr> [#uses=2]7 %temp = alloca i32, align 4 ; <ptr> [#uses=2]8 %ctz_x = alloca i32, align 4 ; <ptr> [#uses=3]9 %ctz_c = alloca i32, align 4 ; <ptr> [#uses=2]10 store i32 61440, ptr %ctz_x11 %tmp = load i32, ptr %ctz_x ; <i32> [#uses=1]12 %tmp1 = sub i32 0, %tmp ; <i32> [#uses=1]13 %tmp2 = load i32, ptr %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, ptr %ctz_c17 %tmp5 = load i32, ptr %ctz_c ; <i32> [#uses=1]18 store i32 %tmp5, ptr %temp19 %tmp6 = load i32, ptr %temp ; <i32> [#uses=1]20 store i32 %tmp6, ptr %retval21 br label %return22 23return: ; preds = %entry24 %retval2 = load i32, ptr %retval ; <i32> [#uses=1]25 ret i32 %retval226}27