[PATCH] D128427: [LoongArch] Add codegen support for load/store operations
Xi Ruoyao via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Sat Jul 2 04:02:01 PDT 2022
xry111 added inline comments.
================
Comment at: llvm/test/CodeGen/LoongArch/ir-instruction/load-store.ll:329
+; LA64-NEXT: lu12i.w $a1, -136485
+; LA64-NEXT: ori $a1, $a1, 3823
+; LA64-NEXT: lu32i.d $a1, -147729
----------------
xen0n wrote:
> SixWeining wrote:
> > xry111 wrote:
> > > Based on the previous discussion, should we move "ori" to the last instruction in the long immediate load sequence and change it to "addi.d" if possible, so a peephole optimization would be able to combine "addi.d" and "ld" into one instruction?
> > In terms of principle this can be implemented. But seems that this is only suitable for very few scenarios (maybe only when accessing a constant memory address). I'm not very sure.
> I think this depends on the micro-architecture. If `lu12i.w; ori; lu32i.d; lu52i.d` sequences or variations of it are macro-op-fusioned, then breaking away from the current pattern could instead harm performance. OTOH it could be a net benefit but as @SixWeining pointed out this case of accessing absolute addresses is probably too rare to justify a special-case.
Then I'll withdraw the proposal, at least for now.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D128427/new/
https://reviews.llvm.org/D128427
More information about the llvm-commits
mailing list