diff options
Diffstat (limited to 'miasm2/jitter')
| -rw-r--r-- | miasm2/jitter/llvmconvert.py | 4 | ||||
| -rw-r--r-- | miasm2/jitter/op_semantics.c | 10 | ||||
| -rw-r--r-- | miasm2/jitter/op_semantics.h | 5 |
3 files changed, 6 insertions, 13 deletions
diff --git a/miasm2/jitter/llvmconvert.py b/miasm2/jitter/llvmconvert.py index de5f19df..e7bd004c 100644 --- a/miasm2/jitter/llvmconvert.py +++ b/miasm2/jitter/llvmconvert.py @@ -938,7 +938,7 @@ class LLVMFunction(): self.update_cache(expr, ret) return ret - if op.startswith("sint_to_fp"): + if op == "sint_to_fp": fptype = LLVMType.fptype(expr.size) arg = self.add_ir(expr.args[0]) ret = builder.sitofp(arg, fptype) @@ -946,7 +946,7 @@ class LLVMFunction(): self.update_cache(expr, ret) return ret - if op == "fp_to_sint32": + if op.startswith("fp_to_sint"): size_arg = expr.args[0].size fptype_orig = LLVMType.fptype(size_arg) arg = self.add_ir(expr.args[0]) diff --git a/miasm2/jitter/op_semantics.c b/miasm2/jitter/op_semantics.c index e997226a..c3e11189 100644 --- a/miasm2/jitter/op_semantics.c +++ b/miasm2/jitter/op_semantics.c @@ -755,24 +755,18 @@ unsigned int fpu_fxam_c3(double a) } } -uint64_t sint64_to_fp64(int64_t a) +uint64_t sint_to_fp_64(int64_t a) { double result = (double) a; return *((uint64_t*)&result); } -uint32_t sint32_to_fp32(int32_t a) +uint32_t sint_to_fp_32(int32_t a) { float result = (float) a; return *((uint32_t*)&result); } -uint64_t sint32_to_fp64(int32_t a) -{ - double result = (double) a; - return *((uint64_t*)&result); -} - int32_t fp32_to_sint32(uint32_t a) { // Enforce nearbyint (IEEE-754 behavior) diff --git a/miasm2/jitter/op_semantics.h b/miasm2/jitter/op_semantics.h index 9ff2881e..3d7ca31a 100644 --- a/miasm2/jitter/op_semantics.h +++ b/miasm2/jitter/op_semantics.h @@ -130,9 +130,8 @@ unsigned int fpu_fxam_c1(double a); unsigned int fpu_fxam_c2(double a); unsigned int fpu_fxam_c3(double a); -uint64_t sint64_to_fp64(int64_t a); -uint32_t sint32_to_fp32(int32_t a); -uint64_t sint32_to_fp64(int32_t a); +uint64_t sint_to_fp_64(int64_t a); +uint32_t sint_to_fp_32(int32_t a); int32_t fp32_to_sint32(uint32_t a); int64_t fp64_to_sint64(uint64_t a); int32_t fp64_to_sint32(uint64_t a); |