sdesmalen-arm wrote: > Also, you might want to consider marking the offset immarg, instead of trying > to handle variable offsets in isel.
`vnum` doesn't need to be an immediate in the C/C++ intrinsic, so it makes sense to just pass it onto LLVM so that ISel can try to fold it into the immediate operands of the instruction. The reason for having a separate operand for this in the intrinsic, is because the tile-slice offset and the (scaled) pointer offset *must* be the same, and if we encode that as a separate operand ISel can simply ensure that the same immediate is used. At the moment it's more difficult to match the immediate (because we need to analyse both the pointer and the tileslice), so have simply resorted to always use an immediate of `0`. https://github.com/llvm/llvm-project/pull/68565 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits