mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-08-21 18:29:46 +00:00
Upgrade to new Tcl exec based test framework. This exposes three regressions in llvm-upgrade: test/Assembler/2002-08-19-BytecodeReader.llx test/Assembler/2003-08-21-ConstantExprCast-Fold.llx test/Assembler/2004-01-11-getelementptrfolding.llx git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36067 91177308-0d34-0410-b5e6-96231b3b80d8
19 lines
710 B
LLVM
19 lines
710 B
LLVM
; 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
|
|
}
|