In some rare cases, the register allocator can spill registers but end up not utilizi...
[llvm/msp430.git] / test / CodeGen / X86 / lea-4.ll
blob8f0835f642fd0160afc46a244edd62fbb1676ca8
1 ; RUN: llvm-as < %s | llc -march=x86-64 | grep lea | count 2
3 define zeroext i16 @t1(i32 %on_off) nounwind {
4 entry:
5         %0 = sub i32 %on_off, 1
6         %1 = mul i32 %0, 2
7         %2 = trunc i32 %1 to i16
8         %3 = zext i16 %2 to i32
9         %4 = trunc i32 %3 to i16
10         ret i16 %4
13 define i32 @t2(i32 %on_off) nounwind {
14 entry:
15         %0 = sub i32 %on_off, 1
16         %1 = mul i32 %0, 2
17         %2 = and i32 %1, 65535
18         ret i32 %2