1; RUN: llc < %s -O0 -verify-machineinstrs -fast-isel-abort=1 -mtriple=powerpc64-unknown-linux-gnu -mcpu=pwr7 | FileCheck %s --check-prefix=PPC64 2; RUN: llc < %s -O0 -verify-machineinstrs -fast-isel-abort=1 -mtriple=powerpc64-ibm-aix-xcoff -mcpu=pwr7 | FileCheck %s --check-prefix=PPC64 3 4; zext 5 6define i32 @zext_8_32(i8 %a) nounwind { 7; PPC64: zext_8_32 8 %r = zext i8 %a to i32 9; PPC64: clrlwi {{[0-9]+}}, {{[0-9]+}}, 24 10 ret i32 %r 11} 12 13define i32 @zext_16_32(i16 %a) nounwind { 14; PPC64: zext_16_32 15 %r = zext i16 %a to i32 16; PPC64: clrlwi {{[0-9]+}}, {{[0-9]+}}, 16 17 ret i32 %r 18} 19 20define i64 @zext_8_64(i8 %a) nounwind { 21; PPC64: zext_8_64 22 %r = zext i8 %a to i64 23; PPC64: clrldi {{[0-9]+}}, {{[0-9]+}}, 56 24 ret i64 %r 25} 26 27define i64 @zext_16_64(i16 %a) nounwind { 28; PPC64: zext_16_64 29 %r = zext i16 %a to i64 30; PPC64: clrldi {{[0-9]+}}, {{[0-9]+}}, 48 31 ret i64 %r 32} 33 34define i64 @zext_32_64(i32 %a) nounwind { 35; PPC64: zext_32_64 36 %r = zext i32 %a to i64 37; PPC64: clrldi {{[0-9]+}}, {{[0-9]+}}, 32 38 ret i64 %r 39} 40 41; sext 42 43define i32 @sext_8_32(i8 %a) nounwind { 44; PPC64: sext_8_32 45 %r = sext i8 %a to i32 46; PPC64: extsb 47 ret i32 %r 48} 49 50define i32 @sext_16_32(i16 %a) nounwind { 51; PPC64: sext_16_32 52 %r = sext i16 %a to i32 53; PPC64: extsh 54 ret i32 %r 55} 56 57define i64 @sext_8_64(i8 %a) nounwind { 58; PPC64: sext_8_64 59 %r = sext i8 %a to i64 60; PPC64: extsb 61 ret i64 %r 62} 63 64define i64 @sext_16_64(i16 %a) nounwind { 65; PPC64: sext_16_64 66 %r = sext i16 %a to i64 67; PPC64: extsh 68 ret i64 %r 69} 70 71define i64 @sext_32_64(i32 %a) nounwind { 72; PPC64: sext_32_64 73 %r = sext i32 %a to i64 74; PPC64: extsw 75 ret i64 %r 76} 77