forked from OSchip/llvm-project
Allow copies between GR8_ABCD_L and GR8_ABCD_H.
This fixes PR7540. llvm-svn: 107809
This commit is contained in:
parent
7d797f613f
commit
ddaf0099a5
|
@ -1913,6 +1913,9 @@ bool X86InstrInfo::copyRegToReg(MachineBasicBlock &MBB,
|
|||
else if (SrcRC->hasSuperClass(&X86::GR32RegClass) &&
|
||||
DestRC->hasSuperClass(&X86::GR32RegClass))
|
||||
CommonRC = &X86::GR32RegClass;
|
||||
else if (SrcRC->hasSuperClass(&X86::GR8RegClass) &&
|
||||
DestRC->hasSuperClass(&X86::GR8RegClass))
|
||||
CommonRC = &X86::GR8RegClass;
|
||||
else
|
||||
CommonRC = 0;
|
||||
}
|
||||
|
|
|
@ -130,3 +130,14 @@ bb14:
|
|||
bb67:
|
||||
ret void
|
||||
}
|
||||
|
||||
; Crash when trying to copy AH to AL.
|
||||
; PR7540
|
||||
define void @copy8bitregs() nounwind {
|
||||
entry:
|
||||
%div.i = sdiv i32 115200, 0
|
||||
%shr8.i = lshr i32 %div.i, 8
|
||||
%conv4.i = trunc i32 %shr8.i to i8
|
||||
call void asm sideeffect "outb $0, ${1:w}", "{ax},N{dx},~{dirflag},~{fpsr},~{flags}"(i8 %conv4.i, i32 1017) nounwind
|
||||
unreachable
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue