Files
clang-p2996/llvm/test/tools/llvm-exegesis/X86/analysis-naive-clusterization-same-opcode-different-sched-class.test
Roman Lebedev e030f808ec [Exegesis] Native clusterization: sub-partition by sched class id
Currently native clusterization simply groups all benchmarks
by the opcode of key instruction, but that is suboptimal in certain cases,
e.g. where we can already tell that the particular instructions
already resolve into different sched classes.
2021-09-07 17:54:37 +03:00

50 lines
1.8 KiB
Plaintext

# RUN: llvm-exegesis -mcpu=znver3 -mode=analysis -benchmarks-file=%s -analysis-clusters-output-file=- -analysis-clustering-epsilon=0.1 -analysis-inconsistency-epsilon=0.1 -analysis-numpoints=1 -analysis-clustering=naive | FileCheck -check-prefixes=CHECK-CLUSTERS %s
# Naive clusterization mainly groups by instruction opcode,
# but it should also partition the benchmarks of the same opcode
# by the sched class. For example, a regular `xor`, and same-operand `xor`
# may have different characteristics, and it will be confusing/misleading
# to group them.
# CHECK-CLUSTERS: {{^}}cluster_id,opcode_name,config,sched_class,latency{{$}}
# CHECK-CLUSTERS-NEXT: {{^}}0,
# CHECK-CLUSTERS-SAME: ,1.00{{$}}
# CHECK-CLUSTERS: {{^}}1,
# CHECK-CLUSTERS-SAME: ,0.20{{$}}
---
mode: latency
key:
instructions:
- 'XOR32rr ECX ECX EAX'
config: ''
register_initial_values:
- 'ECX=0x0'
- 'EAX=0x0'
cpu_name: znver3
llvm_triple: x86_64-unknown-linux-gnu
num_repetitions: 1000000
measurements:
- { key: latency, value: 1.00017, per_snippet_value: 1.00017 }
error: ''
info: Repeating a single implicitly serial instruction
assembled_snippet: B900000000B80000000031C131C131C131C1C3B900000000B80000000049B8020000000000000031C131C14983C0FF75F6C3
...
---
mode: latency
key:
instructions:
- 'XOR32rr EDI EDI EDI'
config: ''
register_initial_values:
- 'EDI=0x0'
cpu_name: znver3
llvm_triple: x86_64-unknown-linux-gnu
num_repetitions: 1000000
measurements:
- { key: latency, value: 0.198311, per_snippet_value: 0.198311 }
error: ''
info: Repeating a single implicitly serial instruction
assembled_snippet: BF0000000031FF31FF31FF31FFC3BF0000000049B8020000000000000031FF31FF4983C0FF75F6C3
...