[all-commits] [llvm/llvm-project] a1a559: [mlir][arith] add wide integer emulation support f...

egebeysel via All-commits all-commits at lists.llvm.org
Thu Mar 27 13:01:26 PDT 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: a1a5594ad2173be10e3e790fb1dce1a059d32e5b
      https://github.com/llvm/llvm-project/commit/a1a5594ad2173be10e3e790fb1dce1a059d32e5b
  Author: egebeysel <beyselege at gmail.com>
  Date:   2025-03-27 (Thu, 27 Mar 2025)

  Changed paths:
    M mlir/lib/Dialect/Arith/Transforms/EmulateWideInt.cpp
    M mlir/test/Dialect/Arith/emulate-wide-int.mlir
    A mlir/test/Integration/Dialect/Arith/CPU/test-wide-int-emulation-subi-i32.mlir

  Log Message:
  -----------
  [mlir][arith] add wide integer emulation support for subi (#133248)

Adds wide integer emulation support for the `arith.subi` op. `(i2N, i2N)
-> (i2N)` ops are emulated as `(vector<2xiN>, vector<2xiN>) ->
(vector<2xiN>)`, just as the other emulation patterns.

The emulation uses the following scheme:

```
resLow = lhsLow - rhsLow;      // carry = 1 if rhsLow > lhsLow
resHigh = lhsLow - carry - rhsLow;
```

Signed-off-by: Ege Beysel <beysel at roofline.ai>



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list