MIPS: Don't allow large immediates for certain instructions.
authordanno@chromium.org <danno@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Wed, 8 Feb 2012 14:41:10 +0000 (14:41 +0000)
committerdanno@chromium.org <danno@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Wed, 8 Feb 2012 14:41:10 +0000 (14:41 +0000)
commit3c6459285c8423543713a1b579199f5f351814de
tree01c770c7bbfa3b6e486afc0dad0163393d5f4a32
parente505a085e3550a48619d271504eb749814839636
MIPS: Don't allow large immediates for certain instructions.

Some instructions can use >16 bit immediates if they represent a <=16 bit signed value.
However some logical instructions (andi, xori, ori, lui) should always treat the immediate value as unsigned.
This patch adds an ASSERT to these places and a minor change to MacroAssembler::li to satisfy this.

BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/9309077
Patch from Daniel Kalmar <kalmard@homejinni.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10644 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
src/mips/assembler-mips.cc
src/mips/macro-assembler-mips.cc