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