Add support for arith.extsi, arith.extui, and arith.trunci ops.
Tested by checking the results for all 16-bit inputs when emulating i16 with i8.
| Paths 
 |  Differential  D133612  
[mlir][arith] Support wide int cast emulation ClosedPublic Authored by kuhar on Sep 9 2022, 1:19 PM. 
Details Summary Add support for arith.extsi, arith.extui, and arith.trunci ops. Tested by checking the results for all 16-bit inputs when emulating i16 with i8. 
Diff Detail 
 Event Timelinekuhar added a child revision: D133629: [mlir][arith] Support wide integer multiplication emulation.Sep 9 2022, 9:15 PM kuhar retitled this revision from [mlir][spirv] Support wide int cast emulation to [mlir][arith] Support wide int cast emulation.Sep 12 2022, 12:41 PM This revision is now accepted and ready to land.Sep 12 2022, 3:09 PM This revision now requires changes to proceed.Sep 13 2022, 9:39 AM kuhar marked 3 inline comments as done.Comment Actions Fixed type checks for ExtSI and ExtUI. Rebased. This revision is now accepted and ready to land.Sep 15 2022, 7:41 AM Closed by commit rG3afd351b5fd9: [mlir][arith] Support wide int cast emulation (authored by kuhar).  ·  Explain WhySep 15 2022, 8:37 AM This revision was automatically updated to reflect the committed changes. 
Revision Contents 
 
 
Diff 459189 mlir/lib/Dialect/Arithmetic/Transforms/EmulateWideInt.cpp
 mlir/test/Dialect/Arithmetic/emulate-wide-int.mlir
 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
This is unnecessary. The operands to adaptor will always be materialized as legal for the target.