|
1 |
| -# RUN: llvm-exegesis -mtriple=riscv64 -mcpu=sifive-p470 --opcode-name=SH3ADD --benchmark-phase=assemble-measured-code --mode=latency --benchmarks-file=%t.yaml |
| 1 | +# RUN: llvm-exegesis -mtriple=riscv64 -mcpu=sifive-p470 --opcode-name=SH3ADD --exegesis-serialize-benchmarks --benchmark-phase=assemble-measured-code \ |
| 2 | +# RUN: --mode=latency --benchmarks-file=%t.yaml |
2 | 3 | # RUN: FileCheck --input-file=%t.yaml %s --check-prefixes=CHECK,SERIALIZE
|
3 | 4 | # RUN: llvm-exegesis -mtriple=riscv64 -mcpu=sifive-p470 --run-measurement=%t.yaml --mode=latency --benchmark-phase=dry-run-measurement --use-dummy-perf-counters \
|
4 | 5 | # RUN: --dump-object-to-disk=%t.o | FileCheck %s --check-prefixes=CHECK,DESERIALIZE
|
5 | 6 | # RUN: llvm-objdump -d %t.o | FileCheck %s --check-prefix=OBJDUMP
|
6 |
| -# RUN: llvm-exegesis -mtriple=riscv64 -mcpu=sifive-p470 --opcode-name=SH3ADD --mode=latency --benchmark-phase=dry-run-measurement --use-dummy-perf-counters | \ |
7 |
| -# RUN: FileCheck %s --check-prefix=NO-SERIALIZE |
8 |
| -# RUN: llvm-exegesis -mtriple=riscv64 -mcpu=sifive-p470 --opcode-name=SH3ADD --mode=latency --benchmark-phase=assemble-measured-code --repetition-mode=min | \ |
9 |
| -# RUN: FileCheck %s --check-prefix=NO-SERIALIZE |
10 |
| -# RUN: llvm-exegesis -mtriple=riscv64 -mcpu=sifive-p470 --opcode-name=SH3ADD --mode=latency --benchmark-phase=assemble-measured-code --repetition-mode=middle-half-loop | \ |
11 |
| -# RUN: FileCheck %s --check-prefix=NO-SERIALIZE |
12 |
| -# RUN: llvm-exegesis -mtriple=riscv64 -mcpu=sifive-p470 --opcode-name=SH3ADD --mode=latency --benchmark-phase=assemble-measured-code --repetition-mode=middle-half-duplicate | \ |
| 7 | + |
| 8 | +# We should not serialie benchmarks by default. |
| 9 | +# RUN: llvm-exegesis -mtriple=riscv64 -mcpu=sifive-p470 --opcode-name=SH3ADD --benchmark-phase=assemble-measured-code --mode=latency | \ |
13 | 10 | # RUN: FileCheck %s --check-prefix=NO-SERIALIZE
|
| 11 | + |
| 12 | +# We currently don't support serialization for repetition modes that require more than one snippets. |
| 13 | +# RUN: not llvm-exegesis -mtriple=riscv64 -mcpu=sifive-p470 --opcode-name=SH3ADD --mode=latency --exegesis-serialize-benchmarks --benchmark-phase=assemble-measured-code \ |
| 14 | +# RUN: --repetition-mode=min 2>&1 | FileCheck %s --check-prefix=NOT-SUPPORTED |
| 15 | +# RUN: not llvm-exegesis -mtriple=riscv64 -mcpu=sifive-p470 --opcode-name=SH3ADD --mode=latency --exegesis-serialize-benchmarks --benchmark-phase=assemble-measured-code \ |
| 16 | +# RUN: --repetition-mode=middle-half-loop 2>&1 | FileCheck %s --check-prefix=NOT-SUPPORTED |
| 17 | +# RUN: not llvm-exegesis -mtriple=riscv64 -mcpu=sifive-p470 --opcode-name=SH3ADD --mode=latency --exegesis-serialize-benchmarks --benchmark-phase=assemble-measured-code \ |
| 18 | +# RUN: --repetition-mode=middle-half-duplicate 2>&1 | FileCheck %s --check-prefix=NOT-SUPPORTED |
| 19 | + |
14 | 20 | # REQUIRES: riscv-registered-target && native-registered-exegesis-target
|
15 | 21 | # REQUIRES: zlib || zstd
|
16 | 22 |
|
|
29 | 35 |
|
30 | 36 | # OBJDUMP: sh3add
|
31 | 37 |
|
32 |
| -# Negative tests: we shouldn't serialize object files in some scenarios. |
| 38 | +# Negative tests. |
33 | 39 |
|
| 40 | +# NOT-SUPPORTED: -exegesis-serialize-benchmarks currently only supports -repetition-mode of loop and duplicate. |
34 | 41 | # NO-SERIALIZE-NOT: object_file:
|
0 commit comments