1 ; RUN: llc < %s -march=x86 | grep sar | count 1 2 ; RUN: llc < %s -march=x86-64 | not grep sar 3 4 define i32 @test(i32 %f12) nounwind { 5 %tmp7.25 = lshr i32 %f12, 16 6 %tmp7.26 = trunc i32 %tmp7.25 to i8 7 %tmp78.2 = sext i8 %tmp7.26 to i32 8 ret i32 %tmp78.2 9 } 10 11 define i32 @test2(i32 %f12) nounwind { 12 %f11 = shl i32 %f12, 8 13 %tmp7.25 = ashr i32 %f11, 24 14 ret i32 %tmp7.25 15 } 16 17 define i32 @test3(i32 %f12) nounwind { 18 %f11 = shl i32 %f12, 13 19 %tmp7.25 = ashr i32 %f11, 24 20 ret i32 %tmp7.25 21 } 22 23 define i64 @test4(i64 %f12) nounwind { 24 %f11 = shl i64 %f12, 32 25 %tmp7.25 = ashr i64 %f11, 32 26 ret i64 %tmp7.25 27 } 28 29 define i16 @test5(i16 %f12) nounwind { 30 %f11 = shl i16 %f12, 2 31 %tmp7.25 = ashr i16 %f11, 8 32 ret i16 %tmp7.25 33 } 34 35 define i16 @test6(i16 %f12) nounwind { 36 %f11 = shl i16 %f12, 8 37 %tmp7.25 = ashr i16 %f11, 8 38 ret i16 %tmp7.25 39 } 40