https://bugs.llvm.org/show_bug.cgi?id=49587
Bug ID: 49587
Summary: [X86][FastISel] with.overflow eflags clobber
Product: libraries
Version: trunk
Hardware: PC
OS: Linux
Status: NEW
Severity: enhancement
Priority: P
Component: Backend: X86
Assignee: [email protected]
Reporter: [email protected]
CC: [email protected], [email protected],
[email protected], [email protected],
[email protected]
Blocks: 48902
define i32 @test(i64 %arg) nounwind {
entry:
%usubo = tail call { i64, i1 } @llvm.usub.with.overflow.i64(i64 %arg, i64 1)
%overflow = extractvalue { i64, i1 } %usubo, 1
br i1 %overflow, label %merge, label %no_overflow
no_overflow:
br label %merge
merge:
%phi = phi i32 [ 1, %no_overflow ], [ 0, %entry ]
ret i32 %phi
}
declare { i64, i1 } @llvm.usub.with.overflow.i64(i64, i64)
; RUN: llc -O0 < %s
test: # @test
# %bb.0: # %entry
subq $1, %rdi
setb %al
xorl %eax, %eax
movl %eax, -4(%rsp) # 4-byte Spill
jb .LBB0_2
# %bb.1: # %no_overflow
movl $1, %eax
movl %eax, -4(%rsp) # 4-byte Spill
jmp .LBB0_2
.LBB0_2: # %merge
movl -4(%rsp), %eax # 4-byte Reload
retq
xorl clobbers eflags from subq, used by jb.
Referenced Bugs:
https://bugs.llvm.org/show_bug.cgi?id=48902
[Bug 48902] [meta] 12.0.0 Release Blockers
--
You are receiving this mail because:
You are on the CC list for the bug._______________________________________________
llvm-bugs mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs