• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1; RUN: llc < %s -march=x86-64 | FileCheck %s
2
3define zeroext i16 @t1(i32 %on_off) nounwind {
4entry:
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; CHECK: lea
11  ret i16 %4
12}
13
14define i32 @t2(i32 %on_off) nounwind {
15entry:
16  %0 = sub i32 %on_off, 1
17  %1 = mul i32 %0, 2
18  %2 = and i32 %1, 65535
19; CHECK: lea
20  ret i32 %2
21}
22