mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-23 11:13:28 +01:00
[ARM] SSAT/USAT with an 'asr #32' shift should result in an undefined encoding rather than unpredictable
llvm-svn: 226469
This commit is contained in:
parent
7561d7842c
commit
ae052a6630
@ -4971,7 +4971,7 @@ static DecodeStatus DecodeT2ShifterImmOperand(MCInst &Inst, uint32_t Val,
|
||||
DecodeStatus S = MCDisassembler::Success;
|
||||
|
||||
// Shift of "asr #32" is not allowed in Thumb2 mode.
|
||||
if (Val == 0x20) S = MCDisassembler::SoftFail;
|
||||
if (Val == 0x20) S = MCDisassembler::Fail;
|
||||
Inst.addOperand(MCOperand::CreateImm(Val));
|
||||
return S;
|
||||
}
|
||||
|
@ -87,4 +87,7 @@ foo2:
|
||||
@ CHECK-ERRORS: error: invalid operand for instruction
|
||||
@ CHECK-ERRORS: error: invalid operand for instruction
|
||||
|
||||
|
||||
ssat r0, #1, r0, asr #32
|
||||
usat r0, #1, r0, asr #32
|
||||
@ CHECK-ERRORS: error: 'asr #32' shift amount not allowed in Thumb mode
|
||||
@ CHECK-ERRORS: error: 'asr #32' shift amount not allowed in Thumb mode
|
||||
|
Loading…
Reference in New Issue
Block a user