llvm-6502/test/Assembler/2007-02-01-UpgradeShift.ll

19 lines
724 B
LLVM
Raw Normal View History

; Test that upgrading shift instructions and constant expressions works
; correctly.
; RUN: llvm-upgrade < %s | grep 'ashr i32 .X, 2' &&
; RUN: llvm-upgrade < %s | grep 'lshr i32 .X, 2' &&
; RUN: llvm-upgrade < %s | grep 'shl i32 .X, 2' &&
; RUN: llvm-upgrade < %s | grep 'ashr i32 .X, 6' &&
; RUN: llvm-upgrade < %s | grep 'lshr i32 .X, 1' &&
; RUN: llvm-upgrade < %s | grep 'shl i32 .X, 1'
void %test(int %X) {
%A = ashr int %X, ubyte 2
%B = lshr int %X, ubyte 2
%C = shl int %X, ubyte 2
%D = ashr int %X, ubyte trunc ( int shl (int 3, ubyte 1) to ubyte )
%E = lshr int %X, ubyte trunc ( int ashr (int 3, ubyte 1) to ubyte )
%F = shl int %X, ubyte trunc ( int lshr (int 3, ubyte 1) to ubyte )
ret void
}