llvm-project
0a8f1f19 - [SelectionDAG] Fix unsafe cases for loop.dependence.{war/raw}.mask

Commit
70 days ago
[SelectionDAG] Fix unsafe cases for loop.dependence.{war/raw}.mask There is an unsafe case with the loop dependence mask intrinsics where the difference between the two pointers is less than half the vector length, e.g. ptrA = 0 and ptrB 3 when the vector length is 32. Currently that produces a correct low-mask with 3 active lanes and an incorrect high mask with all lanes active. This PR adds a select on the high mask which guards against this case.
Author
Committer
Parents
Loading