mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-11-02 07:11:49 +00:00
Fix a crasher in Thumb2 MOV-immediate encoding for certain inputs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139747 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
544e4124fe
commit
8adf62034a
@ -3261,7 +3261,7 @@ bool ARMAsmParser::shouldOmitCCOutOperand(StringRef Mnemonic,
|
||||
// We do this as post-processing of the explicit operands rather than just
|
||||
// conditionally adding the cc_out in the first place because we need
|
||||
// to check the type of the parsed immediate operand.
|
||||
if (Mnemonic == "mov" && Operands.size() > 4 &&
|
||||
if (Mnemonic == "mov" && Operands.size() > 4 && !isThumb() &&
|
||||
!static_cast<ARMOperand*>(Operands[4])->isARMSOImm() &&
|
||||
static_cast<ARMOperand*>(Operands[4])->isImm0_65535Expr() &&
|
||||
static_cast<ARMOperand*>(Operands[1])->getReg() == 0)
|
||||
|
@ -1013,6 +1013,7 @@ _func:
|
||||
movseq r1, #12
|
||||
moveq r1, #12
|
||||
movne.w r1, #12
|
||||
mov.w r6, #450
|
||||
|
||||
@ CHECK: movs r1, #21 @ encoding: [0x15,0x21]
|
||||
@ CHECK: movs.w r1, #21 @ encoding: [0x5f,0xf0,0x15,0x01]
|
||||
@ -1027,6 +1028,7 @@ _func:
|
||||
@ CHECK: movseq.w r1, #12 @ encoding: [0x5f,0xf0,0x0c,0x01]
|
||||
@ CHECK: moveq r1, #12 @ encoding: [0x0c,0x21]
|
||||
@ CHECK: movne.w r1, #12 @ encoding: [0x4f,0xf0,0x0c,0x01]
|
||||
@ CHECK: mov.w r6, #450 @ encoding: [0x4f,0xf4,0xe1,0x76]
|
||||
|
||||
|
||||
@------------------------------------------------------------------------------
|
||||
|
Loading…
Reference in New Issue
Block a user