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 ani64
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 toas 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_
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 ani64
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 toas 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_
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:
- cfallin: isle
- fitzgen: isle
To subscribe or unsubscribe from this label, edit the <code>.github/subscribe-to-label.json</code> configuration file.
Learn more.
</details>
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 ani64
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 toas 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