aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2012-08-29 16:27:19 -0700
committerAlon Zakai <alonzakai@gmail.com>2012-08-29 16:27:19 -0700
commit2d206b313f2c2292f8b365ac22132d4d13af391e (patch)
tree5138a2c65bada89bd7922f95e4ea9df695e44bef /src
parentffc362f182bffb1f355508847da3f1074efecdd4 (diff)
fix extension of non-i32s to >i32s
Diffstat (limited to 'src')
-rw-r--r--src/analyzer.js2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/analyzer.js b/src/analyzer.js
index 9bf93c86..69b811f0 100644
--- a/src/analyzer.js
+++ b/src/analyzer.js
@@ -561,7 +561,7 @@ function analyzer(data, sidePass) {
var whole = shifts >= 0 ? Math.floor(shifts/32) : Math.ceil(shifts/32);
var fraction = Math.abs(shifts % 32);
if (signed) {
- var signedFill = '((' + sourceElements[sourceElements.length-1].ident + '|0) < 0 ? -1 : 0)';
+ var signedFill = '(' + makeSignOp(sourceElements[sourceElements.length-1].ident, 'i' + sourceElements[sourceElements.length-1].bits, 're', 1, 1) + ' < 0 ? -1 : 0)';
var signedKeepAlive = { intertype: 'value', ident: sourceElements[sourceElements.length-1].ident, type: 'i32' };
}
for (var j = 0; j < targetElements.length; j++) {