-
Notifications
You must be signed in to change notification settings - Fork 65
Closed
Labels
irImprovements to, or bugs in, the implementation of the IRImprovements to, or bugs in, the implementation of the IRoptimizationWork related to optimizing the compiler outputWork related to optimizing the compiler outputwasmWebAssembly-related issues or featuresWebAssembly-related issues or features
Milestone
Description
What should be done?
These ops interpret lower bits of the operand as the value of a smaller type and sign extend it. Motivation:
- Their semantics might not be captured correctly in the
arithdialect (bug: incorrect lowering of wasm'si32.extend8_s,i32.extend16_s#960) - Handling them in the
wasmdialect allows generating more efficient code
Ops
- i32.extend8_s: extend a signed 8-bit integer to a 32-bit integer feat: add wasm dialect #986
- i32.extend16_s: extend a signed 16-bit integer to a 32-bit integer feat: lower
i32.extend16_sthrough wasm dialect #998 - i64.extend8_s: extend a signed 8-bit integer to a 64-bit integer feat: lower
i64.extend*_sthroughwasmdialect #1008 - i64.extend16_s: extend a signed 16-bit integer to a 64-bit integer feat: lower
i64.extend*_sthroughwasmdialect #1008 - i64.extend32_s: extend a signed 32-bit integer to a 64-bit integer feat: lower
i64.extend*_sthroughwasmdialect #1008
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
irImprovements to, or bugs in, the implementation of the IRImprovements to, or bugs in, the implementation of the IRoptimizationWork related to optimizing the compiler outputWork related to optimizing the compiler outputwasmWebAssembly-related issues or featuresWebAssembly-related issues or features