| ; RUN: llc < %s -O0 -verify-machineinstrs -fast-isel-abort=1 -mtriple=powerpc64-unknown-linux-gnu -mcpu=pwr7 | FileCheck %s --check-prefix=ELF64 | 
 |  | 
 | define i32 @shl() nounwind { | 
 | entry: | 
 | ; ELF64: shl | 
 | ; ELF64: slw | 
 |   %shl = shl i32 -1, 2 | 
 |   ret i32 %shl | 
 | } | 
 |  | 
 | define i32 @shl_reg(i32 %src1, i32 %src2) nounwind { | 
 | entry: | 
 | ; ELF64: shl_reg | 
 | ; ELF64: slw | 
 |   %shl = shl i32 %src1, %src2 | 
 |   ret i32 %shl | 
 | } | 
 |  | 
 | define i32 @lshr() nounwind { | 
 | entry: | 
 | ; ELF64: lshr | 
 | ; ELF64: srw | 
 |   %lshr = lshr i32 -1, 2 | 
 |   ret i32 %lshr | 
 | } | 
 |  | 
 | define i32 @lshr_reg(i32 %src1, i32 %src2) nounwind { | 
 | entry: | 
 | ; ELF64: lshr_reg | 
 | ; ELF64: srw | 
 |   %lshr = lshr i32 %src1, %src2 | 
 |   ret i32 %lshr | 
 | } | 
 |  | 
 | define i32 @ashr() nounwind { | 
 | entry: | 
 | ; ELF64: ashr | 
 | ; ELF64: srawi | 
 |   %ashr = ashr i32 -1, 2 | 
 |   ret i32 %ashr | 
 | } | 
 |  | 
 | define i32 @ashr_reg(i32 %src1, i32 %src2) nounwind { | 
 | entry: | 
 | ; ELF64: ashr_reg | 
 | ; ELF64: sraw | 
 |   %ashr = ashr i32 %src1, %src2 | 
 |   ret i32 %ashr | 
 | } | 
 |  |