mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-14 11:32:34 +00:00
MC/X86: Warn on scale factors > 1 without index register, instead of erroring,
for 'as' compatibility. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111945 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
a273442891
commit
ee9102587e
@ -588,7 +588,7 @@ X86Operand *X86ATTAsmParser::ParseMemOperand(unsigned SegReg, SMLoc MemStart) {
|
||||
}
|
||||
}
|
||||
} else if (getLexer().isNot(AsmToken::RParen)) {
|
||||
// Otherwise we have the unsupported form of a scale amount without an
|
||||
// A scale amount without an index is ignored.
|
||||
// index.
|
||||
SMLoc Loc = Parser.getTok().getLoc();
|
||||
|
||||
@ -596,8 +596,9 @@ X86Operand *X86ATTAsmParser::ParseMemOperand(unsigned SegReg, SMLoc MemStart) {
|
||||
if (getParser().ParseAbsoluteExpression(Value))
|
||||
return 0;
|
||||
|
||||
Error(Loc, "cannot have scale factor without index register");
|
||||
return 0;
|
||||
if (Value != 1)
|
||||
Warning(Loc, "scale factor without index register is ignored");
|
||||
Scale = 1;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1,4 +1,6 @@
|
||||
// RUN: llvm-mc -triple x86_64-unknown-unknown %s | FileCheck %s
|
||||
// RUN: llvm-mc -triple x86_64-unknown-unknown %s > %t 2> %t.err
|
||||
// RUN: FileCheck < %t %s
|
||||
// RUN: FileCheck --check-prefix=CHECK-STDERR < %t.err %s
|
||||
|
||||
// CHECK: subb %al, %al
|
||||
subb %al, %al
|
||||
@ -151,3 +153,8 @@ fadd %st(7)
|
||||
// CHECK: int3
|
||||
INT3
|
||||
|
||||
|
||||
// Allow scale factor without index register.
|
||||
// CHECK: movaps %xmm3, (%esi)
|
||||
// CHECK-STDERR: warning: scale factor without index register is ignored
|
||||
movaps %xmm3, (%esi, 2)
|
||||
|
Loading…
Reference in New Issue
Block a user