xref: /aosp_15_r20/external/llvm/test/CodeGen/X86/20090313-signext.ll (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s -march=x86-64 -relocation-model=pic > %t
2*9880d681SAndroid Build Coastguard Worker; RUN: grep "movswl	%ax, %edi" %t
3*9880d681SAndroid Build Coastguard Worker; RUN: grep "movw	(%rax), %ax" %t
4*9880d681SAndroid Build Coastguard Worker; XFAIL: *
5*9880d681SAndroid Build Coastguard Worker
6*9880d681SAndroid Build Coastguard Worker@x = common global i16 0
7*9880d681SAndroid Build Coastguard Worker
8*9880d681SAndroid Build Coastguard Workerdefine signext i16 @f() nounwind {
9*9880d681SAndroid Build Coastguard Workerentry:
10*9880d681SAndroid Build Coastguard Worker	%0 = tail call signext i16 @h() nounwind
11*9880d681SAndroid Build Coastguard Worker	%1 = sext i16 %0 to i32
12*9880d681SAndroid Build Coastguard Worker	tail call void @g(i32 %1) nounwind
13*9880d681SAndroid Build Coastguard Worker	%2 = load i16, i16* @x, align 2
14*9880d681SAndroid Build Coastguard Worker	ret i16 %2
15*9880d681SAndroid Build Coastguard Worker}
16*9880d681SAndroid Build Coastguard Worker
17*9880d681SAndroid Build Coastguard Workerdeclare signext i16 @h()
18*9880d681SAndroid Build Coastguard Worker
19*9880d681SAndroid Build Coastguard Workerdeclare void @g(i32)
20