SVE supports vector operations whose vector length is lower than the hardware supported max vector length. We call them partial vector operations. For some operations like vector load/store and the reductions, we need to generate a mask based on the vector length and use it to control the operations to make sure the result is correct. Currently the mask is generated in the backend that is together with each match rules. This will generate many duplicate instructions inside the loop for the vector operations that have the same vector length, which is not friendly to performance. To improve it, we'd better to remove the duplicate instructions and hoist it out. Adding a mask IR for these ops in the mid-end can resolve it.
- Xiaohong Gong
- Xiaohong Gong
- Votes:
-
0 Vote for this issue
- Watchers:
-
5 Start watching this issue
- Created:
- Updated:
- Resolved: