Created
April 26, 2018 15:42
-
-
Save regehr/b7b990d7c49cec51e14c646660cfa240 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
----------------------------------------------------------- | |
; start LHS (in $2) | |
%0 = block 2 | |
%1:i32 = var | |
; (i32.lt_s(i32.const -1000999)(get_local $17)) | |
%2 = slt -1000999:i32, %1 | |
blockpc %0 0 %2 1:i1 | |
%3:i32 = zext %2 | |
; (i32.eq(unreachable)(unreachable)) | |
%4 = eq %3, 0:i32 | |
blockpc %0 1 %4 1:i1 | |
%5:i32 = var | |
%6:i32 = var | |
; (i32.shl(get_local $21)(i32.const 4)) | |
%7 = shl %1, 4:i32 | |
; (i32.add(get_local $20)(get_local $22)) | |
%8 = add %6, %7 | |
%9 = phi %0, %5, %8 | |
; (i32.eq(get_local $24)(i32.const -1001000)) | |
%10 = eq %1, -1001000:i32 | |
pc %10 1:i1 | |
; (i32.le_s(i32.const 0)(get_local $5)) | |
%11 = sle 0:i32, %1 | |
%12:i32 = zext %11 | |
; (i32.eq(unreachable)(unreachable)) | |
%13 = eq %12, 0:i32 | |
pc %13 1:i1 | |
infer %9 | |
; RHS inferred successfully | |
%14:i32 = sub %6, 16016000:i32 | |
result %14 | |
----------------------------------------------------------- | |
; start LHS (in $3) | |
%0:i32 = var | |
; (i32.add(get_local $14)(i32.const 24)) | |
%1 = add %0, 24:i32 | |
; (i32.add(get_local $26)(i32.const 36)) | |
%2 = add %1, 36:i32 | |
%3:i32 = var | |
; (i32.le_s(i32.const 0)(get_local $23)) | |
%4 = sle 0:i32, %3 | |
pc %4 1:i1 | |
%5:i32 = var | |
; (i32.ne(unreachable)(unreachable)) | |
%6 = ne %5, 0:i32 | |
pc %6 1:i1 | |
infer %2 | |
; RHS inferred successfully | |
%7:i32 = add 60:i32, %0 | |
result %7 | |
----------------------------------------------------------- | |
; start LHS (in $13) | |
%0:i32 = var | |
; (i32.add(get_local $12)(i32.const 28)) | |
%1 = add %0, 28:i32 | |
; (i32.add(get_local $49)(i32.const 4)) | |
%2 = add %1, 4:i32 | |
infer %2 | |
; RHS inferred successfully | |
%3:i32 = sub %0, 4294967264:i32 | |
result %3 | |
----------------------------------------------------------- | |
; start LHS (in $13) | |
%0:i32 = var | |
; (i32.add(get_local $12)(i32.const 28)) | |
%1 = add %0, 28:i32 | |
; (i32.add(get_local $49)(i32.const 4)) | |
%2 = add %1, 4:i32 | |
infer %2 | |
; RHS inferred successfully | |
%3:i32 = sub %0, 4294967264:i32 | |
result %3 | |
----------------------------------------------------------- | |
; start LHS (in $13) | |
%0:i32 = var | |
; (i32.add(get_local $12)(i32.const 28)) | |
%1 = add %0, 28:i32 | |
; (i32.add(get_local $49)(i32.const 4)) | |
%2 = add %1, 4:i32 | |
%3:i32 = var | |
; (i32.eq(unreachable)(unreachable)) | |
%4 = eq %3, 0:i32 | |
pc %4 1:i1 | |
infer %2 | |
; RHS inferred successfully | |
%5:i32 = sub %0, 4294967264:i32 | |
result %5 | |
----------------------------------------------------------- | |
; start LHS (in $36) | |
%0:i32 = var | |
%1:i32 = var | |
; (i32.sub(get_local $33)(get_local $35)) | |
%2 = sub %0, %1 | |
; (i32.shr_s(get_local $36)(i32.const 2)) | |
%3 = ashr %2, 2:i32 | |
; (i32.add(get_local $37)(i32.const -1)) | |
%4 = add %3, -1:i32 | |
; (i32.shl(get_local $38)(i32.const 2)) | |
%5 = shl %4, 2:i32 | |
%6:i32 = var | |
; (i32.ne(unreachable)(unreachable)) | |
%7 = ne %6, 0:i32 | |
pc %7 1:i1 | |
infer %5 | |
; RHS inferred successfully | |
%8:i32 = or 3:i32, %2 | |
%9:i32 = add 4294967289:i32, %8 | |
result %9 | |
----------------------------------------------------------- | |
; start LHS (in $45) | |
%0:i32 = var | |
; (i32.le_s(i32.const 0)(get_local $24)) | |
%1 = sle 0:i32, %0 | |
%2:i32 = zext %1 | |
%3:i32 = var | |
; (i32.le_s(i32.const 0)(get_local $26)) | |
%4 = sle 0:i32, %3 | |
%5:i32 = zext %4 | |
; (i32.or(get_local $25)(get_local $27)) | |
%6 = or %2, %5 | |
infer %6 | |
; RHS inferred successfully | |
%7:i32 = and %0, %3 | |
%8:i32 = ashr %7, 31:i32 | |
%9:i32 = sub %8, 4294967295:i32 | |
result %9 | |
----------------------------------------------------------- | |
; start LHS (in $45) | |
%0:i32 = var | |
; (i32.le_s(i32.const 0)(get_local $24)) | |
%1 = sle 0:i32, %0 | |
%2:i32 = zext %1 | |
%3:i32 = var | |
; (i32.le_s(i32.const 0)(get_local $26)) | |
%4 = sle 0:i32, %3 | |
%5:i32 = zext %4 | |
; (i32.or(get_local $25)(get_local $27)) | |
%6 = or %2, %5 | |
; (i32.eq(unreachable)(unreachable)) | |
%7 = eq %6, 0:i32 | |
infer %7 | |
; RHS inferred successfully | |
%8:i32 = and %0, %3 | |
%9:i32 = lshr %8, 31:i32 | |
%10:i1 = trunc %9 | |
result %10 | |
----------------------------------------------------------- | |
; start LHS (in $52) | |
%0:i32 = var | |
; (i32.add(get_local $13)(i32.const 1)) | |
%1 = add %0, 1:i32 | |
; (i32.shl(get_local $14)(i32.const 16)) | |
%2 = shl %1, 16:i32 | |
; (i32.shr_s(get_local $15)(i32.const 16)) | |
%3 = ashr %2, 16:i32 | |
; (i32.and(get_local $19)(i32.const 65535)) | |
%4 = and %3, 65535:i32 | |
infer %4 | |
; RHS inferred successfully | |
%5:i32 = add 4160749569:i32, %0 | |
%6:i32 = and 65535:i32, %5 | |
result %6 | |
----------------------------------------------------------- | |
; start LHS (in $52) | |
%0:i32 = var | |
; (i32.add(get_local $13)(i32.const 1)) | |
%1 = add %0, 1:i32 | |
; (i32.shl(get_local $14)(i32.const 16)) | |
%2 = shl %1, 16:i32 | |
; (i32.shr_s(get_local $15)(i32.const 16)) | |
%3 = ashr %2, 16:i32 | |
; (i32.and(get_local $26)(i32.const 65535)) | |
%4 = and %3, 65535:i32 | |
; (i32.and(get_local $19)(i32.const 65535)) | |
%5 = and %3, 65535:i32 | |
; (i32.le_s(i32.const 199)(get_local $20)) | |
%6 = sle 199:i32, %5 | |
pc %6 1:i1 | |
infer %4 | |
; RHS inferred successfully | |
%6:i32 = and 65535:i32, %0 | |
%7:i32 = add 1:i32, %6 | |
result %7 | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment