Commit 4616866
committed
[X86] narrowBitOpRMW - allow additional uses of the BTC/R/S result
If there are additional uses of the bit twiddled value as well as the rmw store, we can replace them with a (re)loaded copy of the full width integer value after the store.
There's some memory op chain handling to handle here - the additional (re)load is chained after the new store and then any dependencies of the original store are chained after the (re)load.1 parent 12f392c commit 4616866
File tree
2 files changed
+89
-331
lines changed- llvm
- lib/Target/X86
- test/CodeGen/X86
2 files changed
+89
-331
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
53369 | 53369 | | |
53370 | 53370 | | |
53371 | 53371 | | |
53372 | | - | |
53373 | | - | |
| 53372 | + | |
53374 | 53373 | | |
53375 | 53374 | | |
53376 | 53375 | | |
| |||
53441 | 53440 | | |
53442 | 53441 | | |
53443 | 53442 | | |
53444 | | - | |
53445 | | - | |
| 53443 | + | |
| 53444 | + | |
| 53445 | + | |
| 53446 | + | |
| 53447 | + | |
| 53448 | + | |
| 53449 | + | |
| 53450 | + | |
| 53451 | + | |
| 53452 | + | |
| 53453 | + | |
| 53454 | + | |
| 53455 | + | |
| 53456 | + | |
53446 | 53457 | | |
53447 | 53458 | | |
53448 | 53459 | | |
| |||
0 commit comments