diff mbox

target-tilegx: Let v1addi call its own implementation

Message ID 1443353790-4977-1-git-send-email-gang.chen.5i5j@gmail.com
State New
Headers show

Commit Message

Chen Gang Sept. 27, 2015, 11:36 a.m. UTC
From: Chen Gang <gang.chen.5i5j@gmail.com>

Original implementation let v1addi instruction call v1cmpeqi.

It will cause gcc testsuite fail: the relate test is for mm instruction,
tilegx qemu implement mm instruction correctly, but its 'v1addi' causes
test abort.

Signed-off-by: Chen Gang <gang.chen.5i5j@gmail.com>
---
 target-tilegx/translate.c | 5 +++++
 1 file changed, 5 insertions(+)
diff mbox

Patch

diff --git a/target-tilegx/translate.c b/target-tilegx/translate.c
index 969c66e..86da6b5 100644
--- a/target-tilegx/translate.c
+++ b/target-tilegx/translate.c
@@ -1477,6 +1477,11 @@  static TileExcp gen_rri_opcode(DisasContext *dc, unsigned opext,
         break;
     case OE_IM(V1ADDI, X0):
     case OE_IM(V1ADDI, X1):
+        t0 = tcg_const_tl(V1_IMM(imm));
+        gen_helper_v1add(tdest, tsrca, t0);
+        tcg_temp_free(t0);
+        mnemonic = "v1addi";
+        break;
     case OE_IM(V1CMPEQI, X0):
     case OE_IM(V1CMPEQI, X1):
         tcg_gen_xori_tl(tdest, tsrca, V1_IMM(imm));