This is an archive of the discontinued LLVM Phabricator instance.

[mips][ias] Range check uimm6 operands and fix a bug this revealed.
ClosedPublic

Authored by dsanders on Dec 3 2015, 7:04 AM.

Details

Summary

We don't check the size operand on ext/dext*/ins/dins* yet because the
permitted range depends on the pos argument and we can't check that using
this mechanism.

The bug was that dextu/dinsu accepted 0..31 in the pos operand instead of 32..63.

Diff Detail

Event Timeline

dsanders updated this revision to Diff 41752.Dec 3 2015, 7:04 AM
dsanders retitled this revision from to [mips][ias] Range check uimm6 operands and fix a bug this revealed..
dsanders updated this object.
dsanders added a reviewer: vkalintiris.
dsanders added a subscriber: llvm-commits.
vkalintiris accepted this revision.Dec 5 2015, 7:26 AM
vkalintiris edited edge metadata.

LGTM. Please, split the error line at MipsAsmParser.cpp because it's too big.

This revision is now accepted and ready to land.Dec 5 2015, 7:26 AM
dsanders closed this revision.Dec 8 2015, 5:52 AM