[PATCH] D117763: [AArch64][GlobalISel] CodeGen for Armv8.8/9.3 MOPS
Dave Green via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Jan 26 06:47:22 PST 2022
dmgreen added inline comments.
================
Comment at: llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp:3429
return selectReduction(I, MRI);
+ case TargetOpcode::G_BZERO:
+ case TargetOpcode::G_MEMCPY:
----------------
Why does this have a case for G_BZERO if selectMOPS asserts that opcode != G_BZERO?
================
Comment at: llvm/lib/Target/AArch64/GISel/AArch64O0PreLegalizerCombiner.cpp:94
case TargetOpcode::G_MEMSET: {
+ if (ST.hasMOPS())
+ return false;
----------------
This one too? It may want to prevent turning it into a bzero in this case though.
================
Comment at: llvm/test/CodeGen/AArch64/aarch64-mops-mte.ll:3
+
+; RUN: llc %s -o - -mtriple=aarch64-arm-none-eabi -O0 -global-isel=1 -global-isel-abort=1 -mattr=+mops,+mte | FileCheck %s --check-prefix=GISel
+
----------------
Can you add a run line without -O0, as they run through different code. Using --check-prefixes can help if they have identical output.
================
Comment at: llvm/unittests/Target/AArch64/InstSizes.cpp:25
- return std::unique_ptr<LLVMTargetMachine>(static_cast<LLVMTargetMachine*>(
- TheTarget->createTargetMachine(TT, CPU, FS, TargetOptions(), None, None,
- CodeGenOpt::Default)));
+ return std::unique_ptr<LLVMTargetMachine>(
+ static_cast<LLVMTargetMachine *>(TheTarget->createTargetMachine(
----------------
All of this seems unrelated?
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D117763/new/
https://reviews.llvm.org/D117763
More information about the llvm-commits
mailing list