Run DCE after a LoopFlatten test to reduce spurious output [nfc]
[llvm-project.git] / llvm / test / tools / llvm-mca / X86 / IceLakeServer / resources-xsave.s
blob0c008a8f26d2af734d7ccc87b896c59fc6432dce
1 # NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
2 # RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=icelake-server -instruction-tables < %s | FileCheck %s
4 xgetbv
6 xrstor (%rax)
8 xrstors (%rax)
10 xsave (%rax)
12 xsetbv
14 # CHECK: Instruction Info:
15 # CHECK-NEXT: [1]: #uOps
16 # CHECK-NEXT: [2]: Latency
17 # CHECK-NEXT: [3]: RThroughput
18 # CHECK-NEXT: [4]: MayLoad
19 # CHECK-NEXT: [5]: MayStore
20 # CHECK-NEXT: [6]: HasSideEffects (U)
22 # CHECK: [1] [2] [3] [4] [5] [6] Instructions:
23 # CHECK-NEXT: 2 2 0.50 U xgetbv
24 # CHECK-NEXT: 31 37 8.00 * * U xrstor (%rax)
25 # CHECK-NEXT: 31 37 8.00 * * U xrstors (%rax)
26 # CHECK-NEXT: 40 42 11.00 * * U xsave (%rax)
27 # CHECK-NEXT: 5 5 1.25 * * U xsetbv
29 # CHECK: Resources:
30 # CHECK-NEXT: [0] - ICXDivider
31 # CHECK-NEXT: [1] - ICXFPDivider
32 # CHECK-NEXT: [2] - ICXPort0
33 # CHECK-NEXT: [3] - ICXPort1
34 # CHECK-NEXT: [4] - ICXPort2
35 # CHECK-NEXT: [5] - ICXPort3
36 # CHECK-NEXT: [6] - ICXPort4
37 # CHECK-NEXT: [7] - ICXPort5
38 # CHECK-NEXT: [8] - ICXPort6
39 # CHECK-NEXT: [9] - ICXPort7
40 # CHECK-NEXT: [10] - ICXPort8
41 # CHECK-NEXT: [11] - ICXPort9
43 # CHECK: Resource pressure per iteration:
44 # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11]
45 # CHECK-NEXT: - - 19.00 20.50 1.50 1.50 0.50 18.50 46.00 0.50 0.50 0.50
47 # CHECK: Resource pressure by instruction:
48 # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] Instructions:
49 # CHECK-NEXT: - - 0.50 0.50 - - - 0.50 0.50 - - - xgetbv
50 # CHECK-NEXT: - - 5.25 6.25 0.50 0.50 - 5.25 13.25 - - - xrstor (%rax)
51 # CHECK-NEXT: - - 5.25 6.25 0.50 0.50 - 5.25 13.25 - - - xrstors (%rax)
52 # CHECK-NEXT: - - 6.50 6.50 0.50 0.50 0.50 6.50 17.50 0.50 0.50 0.50 xsave (%rax)
53 # CHECK-NEXT: - - 1.50 1.00 - - - 1.00 1.50 - - - xsetbv