Stream: git-wasmtime

Topic: wasmtime / issue #5431 cranelift-isle: richer integer types


view this post on Zulip Wasmtime GitHub notifications bot (Dec 13 2022 at 23:16):

jameysharp opened issue #5431:

Lift a bit more of the integer type system into ISLE. Namely

(type u64 (primitive u64 integer 64 unsigned))
(type i64 (primitive i64 integer 64 signed))

such that in a u64 context we accept literals in 0..2^64 and in an i64 context we accept -2^63..2^63. Then we also add some syntax

(imm $I64 (u64 -1:i64))  ;; sketching some syntax, please bikeshed something better

where u64 used in term position is a cast (compiles to as u64, but also works with typechecking at ISLE level) and :i64 on a constant sets the type of the constant.

This is all a bit uncertain but I feel there's a better system for constants, and for integer types, buried in here somewhere...

_Originally posted by @cfallin in https://github.com/bytecodealliance/wasmtime/issues/5423#issuecomment-1347701158_

view this post on Zulip Wasmtime GitHub notifications bot (Mar 31 2023 at 00:47):

jameysharp labeled issue #5431:

Lift a bit more of the integer type system into ISLE. Namely

(type u64 (primitive u64 integer 64 unsigned))
(type i64 (primitive i64 integer 64 signed))

such that in a u64 context we accept literals in 0..2^64 and in an i64 context we accept -2^63..2^63. Then we also add some syntax

(imm $I64 (u64 -1:i64))  ;; sketching some syntax, please bikeshed something better

where u64 used in term position is a cast (compiles to as u64, but also works with typechecking at ISLE level) and :i64 on a constant sets the type of the constant.

This is all a bit uncertain but I feel there's a better system for constants, and for integer types, buried in here somewhere...

_Originally posted by @cfallin in https://github.com/bytecodealliance/wasmtime/issues/5423#issuecomment-1347701158_

view this post on Zulip Wasmtime GitHub notifications bot (Mar 31 2023 at 00:48):

github-actions[bot] commented on issue #5431:

Subscribe to Label Action

cc @cfallin, @fitzgen

<details>
This issue or pull request has been labeled: "isle"

Thus the following users have been cc'd because of the following labels:

To subscribe or unsubscribe from this label, edit the <code>.github/subscribe-to-label.json</code> configuration file.

Learn more.
</details>

view this post on Zulip Wasmtime GitHub notifications bot (Dec 01 2024 at 04:27):

cfallin closed issue #5431:

Lift a bit more of the integer type system into ISLE. Namely

(type u64 (primitive u64 integer 64 unsigned))
(type i64 (primitive i64 integer 64 signed))

such that in a u64 context we accept literals in 0..2^64 and in an i64 context we accept -2^63..2^63. Then we also add some syntax

(imm $I64 (u64 -1:i64))  ;; sketching some syntax, please bikeshed something better

where u64 used in term position is a cast (compiles to as u64, but also works with typechecking at ISLE level) and :i64 on a constant sets the type of the constant.

This is all a bit uncertain but I feel there's a better system for constants, and for integer types, buried in here somewhere...

_Originally posted by @cfallin in https://github.com/bytecodealliance/wasmtime/issues/5423#issuecomment-1347701158_


Last updated: Dec 23 2024 at 12:05 UTC