target-mips: fix translation of MT instructions
commit9ed5726c043958359b0f1fa44ab3e4f25f9d9a47
authorNathan Froyd <froydnj@codesourcery.com>
Fri, 29 Oct 2010 14:48:46 +0000 (29 07:48 -0700)
committerAurelien Jarno <aurelien@aurel32.net>
Wed, 22 Dec 2010 10:14:10 +0000 (22 11:14 +0100)
tree929a689c59a4d6ef902924b77181f2165caf09c0
parentcbb608a5c8ff918188545edb28127f63db76bd1e
target-mips: fix translation of MT instructions

The translation of dmt/emt/dvpe/evpe was doing the moral equivalent of:

  int x;
  ... /* no initialization of x */
  x = f (x);

which confused later bits of TCG rather badly, leading to crashes.

Fix the helpers to only return results (those instructions have no
inputs), and fix the translation code accordingly.

Signed-off-by: Nathan Froyd <froydnj@codesourcery.com>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
target-mips/helper.h
target-mips/op_helper.c
target-mips/translate.c