Added VPERM optimization for AVX2 shuffles
[oota-llvm.git] / test / CodeGen / X86 / lea-4.ll
1 ; RUN: llc < %s -march=x86-64 | grep lea | count 2
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
11 }
12
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
19 }