[PATCH] D58703: [x86] convert anyext of pinsrb scalar op to subreg insert
Craig Topper via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Feb 27 13:11:38 PST 2019
craig.topper added a comment.
The fast-isel loads don't fold because we run the argument lowering and the rest of the code through selectiondag separately during fast-isel. So selectiondag doesn't see them together to fold the load during isel. Then we can't fold them during peephole because there is an INSERT_SUBREG between the MOVB and the PINSRB and the memory folding code can't handle that. Prior to this patch we had a MOVB, followed by a MOVZX, then the PINSRB at the time of peephole. Peephole pass did merge the MOVB and the MOVZX, but MOVZX isn't a foldable load so we don't go any further to merge with the PINSRB.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D58703/new/
https://reviews.llvm.org/D58703
More information about the llvm-commits
mailing list