Пример #1
0
def invert_double_cell(expr):
    """forth wants low | hi, but wasm is little endian (i.e. the
    reverse). Cells are already stored in little-endian, so we can get
    a proper 64 bit number by rotating by 32 bits.

    """
    return lib.BinaryenBinary(module, lib.BinaryenRotRInt64(), expr, lib.BinaryenConst(module, lib.BinaryenLiteralInt64(32)))
Пример #2
0
def div_64_32_32(expr1, expr2):
    return s_64_to_32(
        lib.BinaryenBinary(module, lib.BinaryenDivSInt64(), expr1,
                           s_32_to_64(expr2)))
Пример #3
0
def rem(expr1, expr2):
    return lib.BinaryenBinary(module, lib.BinaryenRemSInt32(), expr1, expr2)
Пример #4
0
def div(expr1, expr2):
    return lib.BinaryenBinary(module, lib.BinaryenDivSInt32(), expr1, expr2)
Пример #5
0
def umul_32_32_64(expr1, expr2):
    return lib.BinaryenBinary(module, lib.BinaryenMulInt64(),
                              u_32_to_64(expr1), u_32_to_64(expr2))
Пример #6
0
def eq(expr1, expr2):
    return lib.BinaryenBinary(module, lib.BinaryenEqInt32(), expr1, expr2)
Пример #7
0
def bit_and(expr1, expr2):
    return lib.BinaryenBinary(module, lib.BinaryenAndInt32(), expr1, expr2)
Пример #8
0
def urem_64_32_32(expr1, expr2):
    return u_64_to_32(
        lib.BinaryenBinary(module, lib.BinaryenRemUInt64(), expr1,
                           u_32_to_64(expr2)))
Пример #9
0
def add_64(expr1, expr2):
    return lib.BinaryenBinary(module, lib.BinaryenAddInt64(), expr1, expr2)
Пример #10
0
def add(expr1, expr2):
    return lib.BinaryenBinary(module, lib.BinaryenAddInt32(), expr1, expr2)
Пример #11
0
def l_s(expr1, expr2):
    return lib.BinaryenBinary(module, lib.BinaryenLtSInt32(), expr1, expr2)
Пример #12
0
def le_u(expr1, expr2):
    return lib.BinaryenBinary(module, lib.BinaryenLeUInt32(), expr1, expr2)
Пример #13
0
def ge_s(expr1, expr2):
    return lib.BinaryenBinary(module, lib.BinaryenGeSInt32(), expr1, expr2)
Пример #14
0
def ne(expr1, expr2):
    return lib.BinaryenBinary(module, lib.BinaryenNeInt32(), expr1, expr2)
Пример #15
0
def udiv_64_32_64(expr1, expr2):
    return lib.BinaryenBinary(module, lib.BinaryenDivUInt64(), expr1,
                              u_32_to_64(expr2))
Пример #16
0
def rem_64_32_32(expr1, expr2):
    return s_64_to_32(
        lib.BinaryenBinary(module, lib.BinaryenRemSInt64(), expr1,
                           s_32_to_64(expr2)))
Пример #17
0
def sub(expr1, expr2):
    return lib.BinaryenBinary(module, lib.BinaryenSubInt32(), expr1, expr2)
Пример #18
0
def l_rs(expr1, expr2):
    return lib.BinaryenBinary(module, lib.BinaryenShrUInt32(), expr1, expr2)
Пример #19
0
def mul(expr1, expr2):
    return lib.BinaryenBinary(module, lib.BinaryenMulInt32(), expr1, expr2)
Пример #20
0
def bit_xor(expr1, expr2):
    return lib.BinaryenBinary(module, lib.BinaryenXorInt32(), expr1, expr2)
Пример #21
0
def mul_64(expr1, expr2):
    return lib.BinaryenBinary(module, lib.BinaryenMulInt64(), expr1, expr2)