diff options
| author | Simon Pilgrim <llvm-dev@redking.me.uk> | 2018-07-17 17:41:45 +0000 |
|---|---|---|
| committer | Simon Pilgrim <llvm-dev@redking.me.uk> | 2018-07-17 17:41:45 +0000 |
| commit | 92da01fed95be812439a9a2bc20ad667a6ef6b26 (patch) | |
| tree | e407c62fd7b64efe7d74c58945b69559a94d5974 /llvm/test/tools/llvm-mca/X86/Generic | |
| parent | 81943b805b41f921fe97acbb2db2592ee05e76da (diff) | |
| download | bcm5719-llvm-92da01fed95be812439a9a2bc20ad667a6ef6b26.tar.gz bcm5719-llvm-92da01fed95be812439a9a2bc20ad667a6ef6b26.zip | |
[llvm-mca][x86] Add MOVBE resource tests to all supporting targets
SNB doesn't support MOVBE but the numbers in Generic (which use the SNB model) look sane.
llvm-svn: 337305
Diffstat (limited to 'llvm/test/tools/llvm-mca/X86/Generic')
| -rw-r--r-- | llvm/test/tools/llvm-mca/X86/Generic/resources-movbe.s | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/llvm/test/tools/llvm-mca/X86/Generic/resources-movbe.s b/llvm/test/tools/llvm-mca/X86/Generic/resources-movbe.s new file mode 100644 index 00000000000..aa8641484e1 --- /dev/null +++ b/llvm/test/tools/llvm-mca/X86/Generic/resources-movbe.s @@ -0,0 +1,50 @@ +# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py +# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -instruction-tables < %s | FileCheck %s + +movbe %cx, (%rax) +movbe (%rax), %cx + +movbe %ecx, (%rax) +movbe (%rax), %ecx + +movbe %rcx, (%rax) +movbe (%rax), %rcx + +# CHECK: Instruction Info: +# CHECK-NEXT: [1]: #uOps +# CHECK-NEXT: [2]: Latency +# CHECK-NEXT: [3]: RThroughput +# CHECK-NEXT: [4]: MayLoad +# CHECK-NEXT: [5]: MayStore +# CHECK-NEXT: [6]: HasSideEffects (U) + +# CHECK: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 1 1 1.00 * movbew %cx, (%rax) +# CHECK-NEXT: 2 6 0.50 * movbew (%rax), %cx +# CHECK-NEXT: 1 1 1.00 * movbel %ecx, (%rax) +# CHECK-NEXT: 2 6 0.50 * movbel (%rax), %ecx +# CHECK-NEXT: 1 1 1.00 * movbeq %rcx, (%rax) +# CHECK-NEXT: 2 6 0.50 * movbeq (%rax), %rcx + +# CHECK: Resources: +# CHECK-NEXT: [0] - SBDivider +# CHECK-NEXT: [1] - SBFPDivider +# CHECK-NEXT: [2] - SBPort0 +# CHECK-NEXT: [3] - SBPort1 +# CHECK-NEXT: [4] - SBPort4 +# CHECK-NEXT: [5] - SBPort5 +# CHECK-NEXT: [6.0] - SBPort23 +# CHECK-NEXT: [6.1] - SBPort23 + +# CHECK: Resource pressure per iteration: +# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1] +# CHECK-NEXT: - - 1.00 1.00 3.00 1.00 3.00 3.00 + +# CHECK: Resource pressure by instruction: +# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1] Instructions: +# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 movbew %cx, (%rax) +# CHECK-NEXT: - - 0.33 0.33 - 0.33 0.50 0.50 movbew (%rax), %cx +# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 movbel %ecx, (%rax) +# CHECK-NEXT: - - 0.33 0.33 - 0.33 0.50 0.50 movbel (%rax), %ecx +# CHECK-NEXT: - - - - 1.00 - 0.50 0.50 movbeq %rcx, (%rax) +# CHECK-NEXT: - - 0.33 0.33 - 0.33 0.50 0.50 movbeq (%rax), %rcx |

