| ; 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 |
| } |
| |