about summary refs log tree commit diff stats
path: root/miasm2/jitter/llvmconvert.py
diff options
context:
space:
mode:
authorCamille Mougey <commial@gmail.com>2018-03-05 13:18:22 +0100
committerGitHub <noreply@github.com>2018-03-05 13:18:22 +0100
commit342614c1ec4bedd5bcc089ba01909a66b9a73aba (patch)
tree683728881150e2406849bcc1e1c13c62bc0b6d44 /miasm2/jitter/llvmconvert.py
parenta3013003b9f77b017036bd1d46797052d875efbe (diff)
parent5d5c768db62da037d156808f528cf9c1e14db8ab (diff)
downloadmiasm-342614c1ec4bedd5bcc089ba01909a66b9a73aba.tar.gz
miasm-342614c1ec4bedd5bcc089ba01909a66b9a73aba.zip
Merge pull request #690 from serpilliere/integrate_ppc
Integrate ppc
Diffstat (limited to 'miasm2/jitter/llvmconvert.py')
-rw-r--r--miasm2/jitter/llvmconvert.py4
1 files changed, 3 insertions, 1 deletions
diff --git a/miasm2/jitter/llvmconvert.py b/miasm2/jitter/llvmconvert.py
index 9796b265..0e4368a8 100644
--- a/miasm2/jitter/llvmconvert.py
+++ b/miasm2/jitter/llvmconvert.py
@@ -777,8 +777,10 @@ class LLVMFunction():
                 itype = LLVMType.IntType(expr.size)
                 expr_size = itype(expr.size)
 
+                # As shift of expr_size is undefined, we urem the shifters
                 shift = builder.urem(count, expr_size)
-                shift_inv = builder.sub(expr_size, shift)
+                shift_inv = builder.urem(builder.sub(expr_size, shift),
+                                         expr_size)
 
                 if op == '<<<':
                     part_a = builder.shl(value, shift)