[PATCH] D130953: [X86] Eliminate redundant movzbl instruction.

Craig Topper via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sat Oct 15 18:11:19 PDT 2022


craig.topper added inline comments.


================
Comment at: llvm/test/CodeGen/X86/avx-intrinsics-fast-isel.ll:2141
-; X64-NEXT:    vpinsrb $1, %eax, %xmm1, %xmm1
-; X64-NEXT:    movzbl %dl, %eax
-; X64-NEXT:    vpinsrb $2, %eax, %xmm1, %xmm1
----------------
LuoYuanke wrote:
> @craig.topper, I am wondering why we keep movzbl before vpinsrb and vmovd. Is it used deliberately to eliminate partially register stall?
Yes I think that was the original reason. With 64-bit we almost never use ah,by,ch,dh. And Intel CPUs since SNB don’t have merges unless the H registers have been written. So it probably doesn’t matter much anymore.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D130953/new/

https://reviews.llvm.org/D130953



More information about the llvm-commits mailing list