summaryrefslogtreecommitdiff
path: root/test/wasm2js/i64-shifts.2asm.js.opt
blob: 3bc6cac10e3b78266c36bc6b6c45469f267cab0d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49

function asmFunc(env) {
 var Math_imul = Math.imul;
 var Math_fround = Math.fround;
 var Math_abs = Math.abs;
 var Math_clz32 = Math.clz32;
 var Math_min = Math.min;
 var Math_max = Math.max;
 var Math_floor = Math.floor;
 var Math_ceil = Math.ceil;
 var Math_trunc = Math.trunc;
 var Math_sqrt = Math.sqrt;
 var abort = env.abort;
 var nan = NaN;
 var infinity = Infinity;
 function legalstub$1($0, $1, $2, $3, $4, $5) {
  $3 = $2 & 31;
  if (($2 & 63) >>> 0 >= 32) {
   $1 = $0 << $3;
   $0 = 0;
  } else {
   $1 = (1 << $3) - 1 & $0 >>> 32 - $3 | $1 << $3;
   $0 = $0 << $3;
  }
  return ($0 | 0) == ($4 | 0) & ($1 | 0) == ($5 | 0);
 }
 
 function legalstub$2($0, $1, $2, $3, $4, $5) {
  $3 = $2 & 31;
  if (($2 & 63) >>> 0 >= 32) {
   $2 = $1 >> 31;
   $0 = $1 >> $3;
  } else {
   $2 = $1 >> $3;
   $0 = ((1 << $3) - 1 & $1) << 32 - $3 | $0 >>> $3;
  }
  return ($0 | 0) == ($4 | 0) & ($2 | 0) == ($5 | 0);
 }
 
 return {
  "shl_i64": legalstub$1, 
  "shr_i64": legalstub$2
 };
}

var retasmFunc = asmFunc(  { abort: function() { throw new Error('abort'); }
  });
export var shl_i64 = retasmFunc.shl_i64;
export var shr_i64 = retasmFunc.shr_i64;