Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions llvm/test/tools/llvm-exegesis/AArch64/no-aliasing-ld-str.s
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
REQUIRES: aarch64-registered-target

RUN: llvm-exegesis -mtriple=aarch64 -mcpu=neoverse-v2 -mode=latency --dump-object-to-disk=%d --opcode-name=FMOVWSr --benchmark-phase=assemble-measured-code 2>&1
RUN: llvm-objdump -d %d > %t.s
RUN: FileCheck %s < %t.s

CHECK-NOT: ld{{[1-4]}}
CHECK-NOT: st{{[1-4]}}
2 changes: 2 additions & 0 deletions llvm/tools/llvm-exegesis/lib/SerialSnippetGenerator.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,8 @@ computeAliasingInstructions(const LLVMState &State, const Instruction *Instr,
continue;
if (OtherInstr.hasMemoryOperands())
continue;
if (OtherInstr.Description.mayLoad() || OtherInstr.Description.mayStore())
continue;
if (!ET.allowAsBackToBack(OtherInstr))
continue;
if (Instr->hasAliasingRegistersThrough(OtherInstr, ForbiddenRegisters))
Expand Down