Commit a5f856b
[X86] Fold (add X, (srl Y, 7)) -> (sub X, (icmp_sgt 0, Y)) on vXi8 vectors (llvm#143359)
Undo the vectorcombine canonicalisation as SSE has awful vXi8 shift
support, but can easily splat the MSB using the PCMPGTB(0,x) trick.
Alternative to llvm#143106 which could cause infinite loops between srl/sra
conversions
Fixes llvm#1305491 parent fde628a commit a5f856b
File tree
4 files changed
+557
-582
lines changed- llvm
- lib/Target/X86
- test/CodeGen/X86
4 files changed
+557
-582
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
58059 | 58059 | | |
58060 | 58060 | | |
58061 | 58061 | | |
58062 | | - | |
58063 | | - | |
58064 | | - | |
58065 | | - | |
58066 | | - | |
58067 | 58062 | | |
58068 | 58063 | | |
58069 | 58064 | | |
58070 | 58065 | | |
| 58066 | + | |
| 58067 | + | |
| 58068 | + | |
| 58069 | + | |
| 58070 | + | |
| 58071 | + | |
58071 | 58072 | | |
58072 | 58073 | | |
58073 | 58074 | | |
58074 | 58075 | | |
58075 | 58076 | | |
58076 | 58077 | | |
| 58078 | + | |
| 58079 | + | |
| 58080 | + | |
| 58081 | + | |
| 58082 | + | |
| 58083 | + | |
| 58084 | + | |
| 58085 | + | |
| 58086 | + | |
58077 | 58087 | | |
58078 | 58088 | | |
58079 | 58089 | | |
| |||
0 commit comments