diff options
| author | Camille Mougey <commial@gmail.com> | 2018-08-30 08:08:33 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2018-08-30 08:08:33 +0200 |
| commit | a06f5c7703da2b5f0890f7681eed638ffe6698a1 (patch) | |
| tree | 8f97fbf1156f8fe3c27c7da55066bc0927c545b0 /miasm2/ir/translators/C.py | |
| parent | 53faba1609e80ed11edc7e504dffe59a21dc1d44 (diff) | |
| parent | e83a23d1d5a837c8635ef403ddab310587641c32 (diff) | |
| download | miasm-a06f5c7703da2b5f0890f7681eed638ffe6698a1.tar.gz miasm-a06f5c7703da2b5f0890f7681eed638ffe6698a1.zip | |
Merge pull request #829 from serpilliere/fix_float
X86: fix float
Diffstat (limited to '')
| -rw-r--r-- | miasm2/ir/translators/C.py | 20 |
1 files changed, 7 insertions, 13 deletions
diff --git a/miasm2/ir/translators/C.py b/miasm2/ir/translators/C.py index 01aa7d7a..6700e826 100644 --- a/miasm2/ir/translators/C.py +++ b/miasm2/ir/translators/C.py @@ -199,20 +199,14 @@ class TranslatorC(Translator): expr.size, self.from_expr(expr.args[0]), ) - elif expr.op.startswith("sint_to_fp"): - dest_size = expr.size - arg_size = expr.args[0].size - if (arg_size, dest_size) in [ - (32, 32), (64, 64), (32, 64), - ]: - func = "sint%d_to_fp%d" % (arg_size, dest_size) - else: + elif expr.op == "sint_to_fp": + size = expr.size + arg = expr.args[0] + if size not in [32, 64]: raise RuntimeError( - "Unsupported size for sint_to_fp: %r to %r" % ( - arg_size, - dest_size - )) - return "%s(%s)" % (func, self.from_expr(expr.args[0])) + "Unsupported size for sint_to_fp: %r" % size + ) + return "%s_%d(%s)" % (expr.op, size, self.from_expr(arg)) elif expr.op.startswith("fp_to_sint"): dest_size = expr.size arg_size = expr.args[0].size |