Skip to content

Commit 5ca3ef9

Browse files
committed
[X86] Add reduced test case for PR49162
1 parent b7c3de8 commit 5ca3ef9

File tree

1 file changed

+29
-0
lines changed

1 file changed

+29
-0
lines changed

llvm/test/CodeGen/X86/pr49162.ll

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2+
; RUN: llc < %s -mtriple=i686-unknown-unknown | FileCheck %s --check-prefix=X86
3+
; RUN: llc < %s -mtriple=x86_64-unknown-unknown | FileCheck %s --check-prefix=X64
4+
5+
define i32* @PR49162(i32* %base, i160* %ptr160) {
6+
; X86-LABEL: PR49162:
7+
; X86: # %bb.0:
8+
; X86-NEXT: movl {{[0-9]+}}(%esp), %eax
9+
; X86-NEXT: movl 8(%eax), %ecx
10+
; X86-NEXT: shll $16, %ecx
11+
; X86-NEXT: movl %ecx, %eax
12+
; X86-NEXT: sarl $31, %eax
13+
; X86-NEXT: shldl $16, %ecx, %eax
14+
; X86-NEXT: shll $2, %eax
15+
; X86-NEXT: addl {{[0-9]+}}(%esp), %eax
16+
; X86-NEXT: retl
17+
;
18+
; X64-LABEL: PR49162:
19+
; X64: # %bb.0:
20+
; X64-NEXT: leaq -4(%rdi), %rax
21+
; X64-NEXT: retq
22+
%load160 = load i160, i160* %ptr160, align 4
23+
%shl = shl i160 %load160, 80
24+
%ashr160 = ashr i160 %shl, 112
25+
%trunc = trunc i160 %ashr160 to i64
26+
%ashr64 = ashr i64 %trunc, 32
27+
%gep = getelementptr inbounds i32, i32* %base, i64 %ashr64
28+
ret i32* %gep
29+
}

0 commit comments

Comments
 (0)