Skip to content

Commit 1b8b82d

Browse files
committed
Add test for different ptr
1 parent afd24c6 commit 1b8b82d

File tree

1 file changed

+17
-0
lines changed

1 file changed

+17
-0
lines changed

llvm/test/CodeGen/X86/apx/cfcmov.ll

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -162,5 +162,22 @@ define void @atomicstore(ptr %p, i64 %0) {
162162
ret void
163163
}
164164

165+
define void @loadstorediffptr(ptr %p, i32 %0) {
166+
; CHECK-LABEL: loadstorediffptr:
167+
; CHECK: # %bb.0:
168+
; CHECK-NEXT: movl (%rdi), %eax
169+
; CHECK-NEXT: cmpl %eax, %esi
170+
; CHECK-NEXT: cmovbel %eax, %esi
171+
; CHECK-NEXT: movl %esi, 4(%rdi)
172+
; CHECK-NEXT: retq
173+
%2 = getelementptr [2 x i32], ptr %p, i32 0, i32 0
174+
%3 = load i32, ptr %2, align 4
175+
%4 = icmp ule i32 %0, %3
176+
%5 = select i1 %4, i32 %3, i32 %0
177+
%6 = getelementptr [2 x i32], ptr %p, i32 0, i32 1
178+
store i32 %5, ptr %6, align 4
179+
ret void
180+
}
181+
165182
declare i32 @llvm.smax.i32(i32, i32)
166183
declare i32 @llvm.umin.i32(i32, i32)

0 commit comments

Comments
 (0)