2011-06-16 09:34:41 +08:00
|
|
|
; RUN: llc < %s -march=x86-64 -stress-sched | FileCheck %s
|
2011-06-23 07:23:19 +08:00
|
|
|
; REQUIRES: asserts
|
2011-06-16 01:16:12 +08:00
|
|
|
; Test interference between physreg aliases during preRAsched.
|
|
|
|
; mul wants an operand in AL, but call clobbers it.
|
|
|
|
|
|
|
|
define i8 @f(i8 %v1, i8 %v2) nounwind {
|
|
|
|
entry:
|
|
|
|
; CHECK: callq
|
2016-05-07 09:11:17 +08:00
|
|
|
; CHECK: movl %{{.*}}, %eax
|
2011-06-16 01:16:12 +08:00
|
|
|
; CHECK: mulb
|
|
|
|
; CHECK: mulb
|
|
|
|
%rval = tail call i8 @bar() nounwind
|
|
|
|
%m1 = mul i8 %v1, %v2
|
|
|
|
%m2 = mul i8 %m1, %rval
|
|
|
|
ret i8 %m2
|
|
|
|
}
|
|
|
|
|
|
|
|
declare i8 @bar()
|