xref: /llvm-project/llvm/test/tools/llvm-exegesis/X86/print-assembled-snippet.s (revision 27f37db76a79e746561ad2545ff6ccf0d50cc38c)
1*27f37db7SPavel Kosov# Check that "assembled_snippet" is fetched correctly from object file.
2*27f37db7SPavel Kosov# Feel free to update the snippet in this test if the code generated by the
3*27f37db7SPavel Kosov# snippet repetitor was changed intentionally and it is still fetched correctly.
4*27f37db7SPavel Kosov
5*27f37db7SPavel Kosov# RUN: llvm-exegesis --mtriple=x86_64-linux-gnu --mcpu=x86-64 --benchmark-phase=prepare-and-assemble-snippet \
6*27f37db7SPavel Kosov# RUN:               --snippets-file=%s --mode=latency --repetition-mode=duplicate \
7*27f37db7SPavel Kosov# RUN: | FileCheck %s --check-prefix=CHECK-LINUX
8*27f37db7SPavel Kosov
9*27f37db7SPavel Kosov# RUN: llvm-exegesis --mtriple=x86_64-windows-gnu --mcpu=x86-64 --benchmark-phase=prepare-and-assemble-snippet \
10*27f37db7SPavel Kosov# RUN:               --snippets-file=%s --mode=latency --repetition-mode=duplicate \
11*27f37db7SPavel Kosov# RUN: | FileCheck %s --check-prefix=CHECK-WINDOWS-GNU
12*27f37db7SPavel Kosov
13*27f37db7SPavel Kosov# RUN: llvm-exegesis --mtriple=x86_64-windows-msvc --mcpu=x86-64 --benchmark-phase=prepare-and-assemble-snippet \
14*27f37db7SPavel Kosov# RUN:               --snippets-file=%s --mode=latency --repetition-mode=duplicate \
15*27f37db7SPavel Kosov# RUN: | FileCheck %s --check-prefix=CHECK-WINDOWS-MSVC
16*27f37db7SPavel Kosov
17*27f37db7SPavel Kosov# LLVM-EXEGESIS-DEFREG RDI 0
18*27f37db7SPavel Kosov# LLVM-EXEGESIS-DEFREG RSI 0
19*27f37db7SPavel Kosov# LLVM-EXEGESIS-DEFREG RAX 0
20*27f37db7SPavel Kosovleaq    (%rdi,%rsi), %rax
21*27f37db7SPavel Kosov
22*27f37db7SPavel Kosov# CHECK-LINUX: cpu_name:          x86-64
23*27f37db7SPavel Kosov# CHECK-LINUX: llvm_triple:       x86_64-unknown-linux-gnu
24*27f37db7SPavel Kosov# CHECK-LINUX: assembled_snippet: 48BF000000000000000048BE000000000000000048B80000000000000000488D0437488D0437488D0437488D0437C3{{$}}
25*27f37db7SPavel Kosov
26*27f37db7SPavel Kosov# CHECK-WINDOWS-GNU: cpu_name:          x86-64
27*27f37db7SPavel Kosov# CHECK-WINDOWS-GNU: llvm_triple:       x86_64-unknown-windows-gnu
28*27f37db7SPavel Kosov# CHECK-WINDOWS-GNU: assembled_snippet: 565748BF000000000000000048BE000000000000000048B80000000000000000488D0437488D0437488D0437488D04375F5EC3{{$}}
29*27f37db7SPavel Kosov
30*27f37db7SPavel Kosov# CHECK-WINDOWS-MSVC: cpu_name:          x86-64
31*27f37db7SPavel Kosov# CHECK-WINDOWS-MSVC: llvm_triple:       x86_64-unknown-windows-msvc
32*27f37db7SPavel Kosov# CHECK-WINDOWS-MSVC: assembled_snippet: 565748BF000000000000000048BE000000000000000048B80000000000000000488D0437488D0437488D0437488D04375F5EC3{{$}}
33