| Issue |
203206
|
| Summary |
[LoopVectorizer] Support reverse elimination in VPlan
|
| Labels |
new issue
|
| Assignees |
|
| Reporter |
Mel-Chen
|
Here are the simplification rules for reverse elimination:
- [ ] reverse(splat(X)) --> splat(X)
- [ ] reduce.add(reverse(V)) --> reduce.add(V)
- [ ] reverse(BinOp reverse(V1), reverse(V2)) --> BinOp V1, V2
- [ ] reverse(BinOp(reverse(V1), splat))) --> BinOp(V1, splat)
- [ ] reverse(BinOp(splat, reverse(V2)))) --> BinOp(splat, V2)
- [ ] reverse(UnaryOp reverse(V)) --> UnaryOp V
- [ ] select reverse(Cond), reverse(TVal), reverse(FVal) --> reverse(select Cond, TVal, FVal)
- [ ] select reverse(Cond), reverse(TVal), splat --> reverse(select Cond, TVal, splat)
- [ ] select reverse(Cond), splat, reverse(FVal) --> reverse(select Cond, splat, FVal)
- [ ] BinOp(reverse(V1), reverse(V2)) --> reverse(BinOp(V1, V2))
- [ ] BinOp(reverse(V1), splat)) --> reverse(BinOp(V1, splat))
- [ ] BinOp(splat, reverse(V2))) --> reverse(BinOp(splat, V2))
- [ ] cmp(Pred, reverse(V1), reverse(V2)) --> reverse(cmp Pred, V1, V2)
- [ ] cmp(Pred, reverse(V1), splat) --> reverse(cmp Pred, V1, splat)
- [ ] cmp(Pred, splat, reverse(V2)) --> reverse(cmp Pred, splat, V2)
_______________________________________________
llvm-bugs mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs