<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/61162>61162</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            [MLIR]Failed to converting arith to spirv due to 1-bit integer type 
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          sweead
      </td>
    </tr>
</table>

<pre>
    'spirv.IAdd' operand #0 must be 8/16/32/64-bit integer, but addi supports 1-bit integer, so it always errors out. 
How to convert arith.addi with i1 to spirv op? Is it necessary to solve this problem, it is difficult to use this pass properly due to this error. When I design high-level IR I may ignore this error about the i1 type, so when I encounter this error I get very confused

commit: [67409](https://github.com/llvm/llvm-project/tree/67409911353323ca5edf2049ef0df54132fa1ca7)
Test case:
```
\\mlir-opt test.mlir  -convert-arith-to-spirv

#map0 = affine_map<(d0, d1) -> (d0 + d1)>
#map1 = affine_map<(d0, d1) -> (d0 * 2 + d1)>
module {
  func.func @main( %1:i1 ) ->  i1{
    %2 = arith.addi %1, %1 : i1
    return %2:i1
  }
}
```
Error message:
```
test.mlir:6:10: error: 'spirv.IAdd' op operand #0 must be 8/16/32/64-bit integer or vector of 8/16/32/64-bit integer values of length 2/3/4/8/16 or Cooperative Matrix of 8/16/32/64-bit integer values, but got 'i1'
    %2 = arith.addi %1, %1 : i1
         ^
test.mlir:6:10: note: see current operation: %0 = "spirv.IAdd"(%arg0, %arg0) : (i1, i1) -> i1
```

</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJykVVGPozYQ_jWTl1EiGIcEHvKQTRY1Uu_lVKmPlcEDuAKMbJM0_76yye7mru2pq4siwMzM52_mG8bSOd2OzAfIXiA7r-TsO2MP7sYs1aoy6n4A2rtJ2-vmclQKaI9mYitHhUAiwWF2HivGHKhMd0ClIKByt11X2qMePbdsgU5YzR6lUhrdPE3Geofp9y7OoPYo-5u8O2RrjXVoZr9BSM6QHH8xN_QGazNe2XqUVvtuEyFv2neo02CNTNFMIEq8uIA3cs3OSXuPZtNfGX2nHU7WVD0PYeNAw6HSTaPruffBcXZvbtJF34ltf0c1c7BGS2S4wd87HvGCikMhsdNtt-75yj1evuIFB3lH3Y7G8lMQysrMHn3HkfV94kf6twWLx9rMo2f7HHPBlj1e2d5DCZrZsVrqslxrMwzagzgiZC-7_TYpIDsD5Z33kwNxBCqBylb7bq42tRmAyr6_vt3WkzV_cu2BSm-Zg4IBokhTkQlBopYZq4aSbcFNoppsmwpqZFrLPVCxEPiNncdaOg6bLcR2yeO_LLMTZKeh13ZtJo-end-EFeL6oek6arr2Zh1lfE4PSAxyShDEGWXT6JH_GOQE4gSUqySUT6VABa5BvGJ8h0Avy0sQr88g6edAjkj_AjUYNfeMsH9Z1ojNPNabcEHYJoPUI1COQFkK4qhTfMdFnT5FYXChhdFHQ8cwOsU7Bk11-hFg2c92jHER-s0C-_MjzfeHbwV4jX00hK-h_U-V3mUBcdyBOKZJ2D-2YGyufw6Dz88DNBavXHtj0TQ_9rzKfmYX3HoeW99h8BFA5RaoXCID2slEEl5fGb9Ib_Vf_xP5bTS1xofcdAq0_wlt4g-y1x_VcjQ-VB8dM9aztTx6fLA341LjbGl0IHouNgHlQJm0bfIgsDwWuETlOhLTHz38Ru07jVfqIFQhCrniQ7rb7_Os2OVi1R1koURFlKmEin0ulOSqSrhJm0Lua9nIlT5QQiIRiUh3SZ7QJhVVmte52nFVZ1sm2CY8SN1vwlTZGNuutHMzH3ZpuqNVLyvuXTxriEa-YTSGzLLzyh7iJKrm1sE26bXz7gPFa9_HQ-rLr5evkJ1LqXtWT-eBHttFpY9T4DGsvzln4rTF1Wz7w6cnYyTrQieFZP4OAAD__yc1Ibo">