2006-12-02 04:23:10 +00:00

19 lines
498 B
LLVM

; RUN: llvm-upgrade < %s | llvm-as | llc -march=ppc32 &&
; RUN: llvm-upgrade < %s | llvm-as | llc -march=ppc32 | not grep rlwin
void %test(ubyte* %P) {
%W = load ubyte* %P
%X = shl ubyte %W, ubyte 1
%Y = add ubyte %X, 2
%Z = and ubyte %Y, 254 ; dead and
store ubyte %Z, ubyte* %P
ret void
}
ushort %test2(ushort %crc) { ; No and's should be needed for the ushorts here.
%tmp.1 = shr ushort %crc, ubyte 1
%tmp.7 = xor ushort %tmp.1, 40961
ret ushort %tmp.7
}