Project

General

Profile

Actions

Bug #10103

closed

[Mips] java.lang.IllegalArgumentException: dinsm

Added by Alexander Protsenko almost 5 years ago. Updated over 1 year ago.

Status:
Closed
Priority:
Normal
Category:
nML Translator
Target version:
Start date:
02/07/2020
Due date:
% Done:

0%

Estimated time:
Detected in build:
svn
Platform:
Published in build:

Description

Ошибка:

Warning: missing opcode mapping: FLOAT_TO_INT in '(FLOAT_TO_INT 32 temp_fp_d)'
Warning: missing opcode mapping: FLOAT_TO_INT in '(FLOAT_TO_INT 32 temp_fp_s)'
********************************************************************************
ATTENTION! An unexpected error has occurred:
java.lang.IllegalArgumentException: dinsm

The program will be terminated. Please contact us at: 
microtesk-support@ispras.ru
We are sorry for the inconvenience.

Exception stack:

java.lang.IllegalArgumentException: dinsm
    at ru.ispras.fortress.util.InvariantChecks.checkTrue(InvariantChecks.java:53)
    at ru.ispras.microtesk.translator.nml.codegen.decoder.ImageAnalyzer.getImageInfo(ImageAnalyzer.java:393)
    at ru.ispras.microtesk.translator.nml.codegen.decoder.ImageAnalyzer$Visitor.analyzeImage(ImageAnalyzer.java:236)
    at ru.ispras.microtesk.translator.nml.codegen.decoder.ImageAnalyzer$Visitor.onStatementFormat(ImageAnalyzer.java:183)
    at ru.ispras.microtesk.translator.nml.codegen.decoder.ImageAnalyzer$Visitor.onStatementBegin(ImageAnalyzer.java:171)
    at ru.ispras.microtesk.translator.nml.ir.IrWalker.visitAttribute(IrWalker.java:249)
    at ru.ispras.microtesk.translator.nml.ir.IrWalker.visitAndRule(IrWalker.java:227)
    at ru.ispras.microtesk.translator.nml.ir.IrWalker.visitPrimitive(IrWalker.java:181)
    at ru.ispras.microtesk.translator.nml.ir.IrWalker.visitPrimitives(IrWalker.java:164)
    at ru.ispras.microtesk.translator.nml.ir.IrWalker.visitPrimitives(IrWalker.java:145)
    at ru.ispras.microtesk.translator.nml.ir.IrWalker.visit(IrWalker.java:84)
    at ru.ispras.microtesk.translator.nml.ir.IrWalker.visit(IrWalker.java:66)
    at ru.ispras.microtesk.translator.nml.codegen.decoder.ImageAnalyzer.processIr(ImageAnalyzer.java:66)
    at ru.ispras.microtesk.translator.nml.codegen.decoder.DecoderGenerator.processIr(DecoderGenerator.java:54)
    at ru.ispras.microtesk.translator.nml.codegen.decoder.DecoderGenerator.processIr(DecoderGenerator.java:36)
    at ru.ispras.microtesk.translator.Translator.processIr(Translator.java:84)
    at ru.ispras.microtesk.translator.nml.NmlTranslator.start(NmlTranslator.java:131)
    at ru.ispras.microtesk.translator.Translator.translate(Translator.java:201)
    at ru.ispras.microtesk.MicroTESK.translate(MicroTESK.java:150)
    at ru.ispras.microtesk.MicroTESK.runTask(MicroTESK.java:142)
    at ru.ispras.microtesk.MicroTESK.main(MicroTESK.java:80)

********************************************************************************

> Task :translateMips64 FAILED

FAILURE: Build failed with an exception.

Возможная причина:

@rev(MIPS64_R2)
op dinsm (rt: R, rs: R, pos: card(5), size: card(6))
  syntax = format("dinsm %s, %s, %d, %d", rt.syntax, rs.syntax, pos, size)
  image  = format("011111%5s%5s%5s%5s000101", rs.image, rt.image,
                                              coerce(card(5),coerce(card(6), pos) + size - 33), pos)
  action = {
    temp64 = rt<63..0>;
    temp64_0 = coerce(DWORD, 0xffffFFFFffffFFFF);
    temp64_0 = temp64_0 << 64 - coerce(card(6), pos) - size;
    temp64_0 = temp64_0 >> 64 - size;
    temp64_3 = rs<63..0> & temp64_0;
    temp64_0 = temp64_0 << pos;
    temp64_3 = temp64_3 << pos;
    temp64 = temp64 & ~temp64_0;
    temp64 = temp64 | temp64_3;

    rt = sign_extend(DWORD, temp64);
  }

Нужно: Корректная диагностика проблемы.

Actions

Also available in: Atom PDF