mirror of
https://github.com/RPCS3/llvm.git
synced 2025-02-04 17:47:58 +00:00
Allow copies between GR8_ABCD_L and GR8_ABCD_H.
This fixes PR7540. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107809 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
894728211d
commit
f2e4afd96c
@ -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…
x
Reference in New Issue
Block a user