target-alpha: fix decoding of CVTST /S
authoraurel32 <aurel32@c046a42c-6fe2-441c-8c8c-71466251a162>
Tue, 11 Nov 2008 13:54:54 +0000 (13:54 +0000)
committeraurel32 <aurel32@c046a42c-6fe2-441c-8c8c-71466251a162>
Tue, 11 Nov 2008 13:54:54 +0000 (13:54 +0000)
This patch fixes the decoding of CVTST /S which was
incorrectly being decoded as CVTTS.

This fixes SPEC2000 gcc with 200.i input.

Signed-off-by: Laurent Desnogues <laurent.desnogues@gmail.com>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5693 c046a42c-6fe2-441c-8c8c-71466251a162

target-alpha/translate.c

index 75bc46885cd290311306f7db2ee7163d22a76c91..23e1c6a9cf8fc47c1e8b087538c56bb4a9c99de6 100644 (file)
@@ -1464,7 +1464,7 @@ static always_inline int translate_one (DisasContext *ctx, uint32_t insn)
             break;
         case 0x2C:
             /* XXX: incorrect */
-            if (fn11 == 0x2AC) {
+            if (fn11 == 0x2AC || fn11 == 0x6AC) {
                 /* CVTST */
                 gen_farith2(&helper_cvtst, rb, rc);
             } else {