[PATCH] D135807: [WIP][RISCV][InsertVSETVLI] Allow promotion of TA to TU and MA to MU
Craig Topper via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Oct 12 14:05:23 PDT 2022
craig.topper added inline comments.
================
Comment at: llvm/test/CodeGen/RISCV/rvv/vmacc.ll:1572
+; RV32-NEXT: vsetvli zero, a2, e64, m1, tu, ma
; RV32-NEXT: vlse64.v v10, (a0), zero
; RV32-NEXT: vmacc.vv v8, v10, v9
----------------
reames wrote:
> craig.topper wrote:
> > If this were in a loop and a load misses the cache, the later iterations couldn't speculatively start loading until the earlier cache miss is resolved. That doesn't seem ideal.
> Depends on how the hardware handles this, and I don't really know what's realistic. In theory, the load can be issued, and only the merge is bottlenecked by the false dependency . Not sure if that's a realistic hardware expectation or not.
>
> Note that the vmacc has the same loop carried false dependency issue in either case. So we're really just talking about the issue to overlap the loads.
>
> But yes, unless the hardware is pretty uniformly smart about this - as sketched above - this would seem to be a fatal flaw for this patch.
I guess on most of the loop iterations of the loop you would be using vlmax so there isn't a tail. So maybe only the last iteration would be affected.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D135807/new/
https://reviews.llvm.org/D135807
More information about the llvm-commits
mailing list