; RUN: llc -verify-machineinstrs < %s -mtriple=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(ptr %P) {
        %tmp.1 = load i16, ptr %P
        %tmp.2 = zext i16 %tmp.1 to i32
        %tmp.3 = and i32 %tmp.2, 255
        ret i32 %tmp.3
}

define i32 @test5(ptr %P) {
        %tmp.1 = load i16, ptr %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(ptr %P) {
        %tmp.1 = load i32, ptr %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
}
