c866d6e097983ee95a23ab7672a16b153988ccfc
[oota-llvm.git] / test / CodeGen / PowerPC / and-elim.ll
1 ; RUN: llvm-upgrade < %s | llvm-as | llc -march=ppc32 &&
2 ; RUN: llvm-upgrade < %s | llvm-as | llc -march=ppc32 | not grep rlwin
3
4 void %test(ubyte* %P) {
5         %W = load ubyte* %P
6         %X = shl ubyte %W, ubyte 1
7         %Y = add ubyte %X, 2
8         %Z = and ubyte %Y, 254        ; dead and
9         store ubyte %Z, ubyte* %P
10         ret void
11 }
12
13 ushort @zext %test2(ushort @zext %crc) { 
14         ; No and's should be needed for the ushorts here.
15         %tmp.1 = shr ushort %crc, ubyte 1
16         %tmp.7 = xor ushort %tmp.1, 40961
17         ret ushort %tmp.7
18 }
19