; RUN: llc < %s -march=ppc32 | not grep "extsh\|rlwinm"

declare signext i16 @foo()  

define i32 @test1(i16 signext %X) {
	%Y = sext i16 %X to i32  ;; dead
	ret i32 %Y
}

define i32 @test2(i16 zeroext %X) {
	%Y = sext i16 %X to i32
	%Z = and i32 %Y, 65535      ;; dead
	ret i32 %Z
}

define void @test3() {
	%tmp.0 = call signext i16 @foo()             ;; no extsh!
	%tmp.1 = icmp slt i16 %tmp.0, 1234
	br i1 %tmp.1, label %then, label %UnifiedReturnBlock

then:	
	call i32 @test1(i16 signext 0)
	ret void
UnifiedReturnBlock:
	ret void
}

define i32 @test4(i16* %P) {
        %tmp.1 = load i16* %P
        %tmp.2 = zext i16 %tmp.1 to i32
        %tmp.3 = and i32 %tmp.2, 255
        ret i32 %tmp.3
}

define i32 @test5(i16* %P) {
        %tmp.1 = load i16* %P
        %tmp.2 = bitcast i16 %tmp.1 to i16
        %tmp.3 = zext i16 %tmp.2 to i32
        %tmp.4 = and i32 %tmp.3, 255
        ret i32 %tmp.4
}

define i32 @test6(i32* %P) {
        %tmp.1 = load i32* %P
        %tmp.2 = and i32 %tmp.1, 255
        ret i32 %tmp.2
}

define zeroext i16 @test7(float %a)  {
        %tmp.1 = fptoui float %a to i16
        ret i16 %tmp.1
}
