xref: /llvm-project/llvm/test/tools/llvm-mca/X86/Znver2/resources-xsave.s (revision 6a8fabf5c316db770698d270393bd42bdc0ee1ac)
1*6a8fabf5SSimon Pilgrim# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
2*6a8fabf5SSimon Pilgrim# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=znver2 -instruction-tables < %s | FileCheck %s
3*6a8fabf5SSimon Pilgrim
4*6a8fabf5SSimon Pilgrimxgetbv
5*6a8fabf5SSimon Pilgrim
6*6a8fabf5SSimon Pilgrimxrstor  (%rax)
7*6a8fabf5SSimon Pilgrim
8*6a8fabf5SSimon Pilgrimxrstors (%rax)
9*6a8fabf5SSimon Pilgrim
10*6a8fabf5SSimon Pilgrimxsave   (%rax)
11*6a8fabf5SSimon Pilgrim
12*6a8fabf5SSimon Pilgrimxsetbv
13*6a8fabf5SSimon Pilgrim
14*6a8fabf5SSimon Pilgrim# CHECK:      Instruction Info:
15*6a8fabf5SSimon Pilgrim# CHECK-NEXT: [1]: #uOps
16*6a8fabf5SSimon Pilgrim# CHECK-NEXT: [2]: Latency
17*6a8fabf5SSimon Pilgrim# CHECK-NEXT: [3]: RThroughput
18*6a8fabf5SSimon Pilgrim# CHECK-NEXT: [4]: MayLoad
19*6a8fabf5SSimon Pilgrim# CHECK-NEXT: [5]: MayStore
20*6a8fabf5SSimon Pilgrim# CHECK-NEXT: [6]: HasSideEffects (U)
21*6a8fabf5SSimon Pilgrim
22*6a8fabf5SSimon Pilgrim# CHECK:      [1]    [2]    [3]    [4]    [5]    [6]    Instructions:
23*6a8fabf5SSimon Pilgrim# CHECK-NEXT:  1      100   0.25                  U     xgetbv
24*6a8fabf5SSimon Pilgrim# CHECK-NEXT:  1      100   0.25    *      *      U     xrstor	(%rax)
25*6a8fabf5SSimon Pilgrim# CHECK-NEXT:  1      100   0.25    *      *      U     xrstors	(%rax)
26*6a8fabf5SSimon Pilgrim# CHECK-NEXT:  1      100   0.25    *      *      U     xsave	(%rax)
27*6a8fabf5SSimon Pilgrim# CHECK-NEXT:  1      100   0.25    *      *      U     xsetbv
28*6a8fabf5SSimon Pilgrim
29*6a8fabf5SSimon Pilgrim# CHECK:      Resources:
30*6a8fabf5SSimon Pilgrim# CHECK-NEXT: [0]   - Zn2AGU0
31*6a8fabf5SSimon Pilgrim# CHECK-NEXT: [1]   - Zn2AGU1
32*6a8fabf5SSimon Pilgrim# CHECK-NEXT: [2]   - Zn2AGU2
33*6a8fabf5SSimon Pilgrim# CHECK-NEXT: [3]   - Zn2ALU0
34*6a8fabf5SSimon Pilgrim# CHECK-NEXT: [4]   - Zn2ALU1
35*6a8fabf5SSimon Pilgrim# CHECK-NEXT: [5]   - Zn2ALU2
36*6a8fabf5SSimon Pilgrim# CHECK-NEXT: [6]   - Zn2ALU3
37*6a8fabf5SSimon Pilgrim# CHECK-NEXT: [7]   - Zn2Divider
38*6a8fabf5SSimon Pilgrim# CHECK-NEXT: [8]   - Zn2FPU0
39*6a8fabf5SSimon Pilgrim# CHECK-NEXT: [9]   - Zn2FPU1
40*6a8fabf5SSimon Pilgrim# CHECK-NEXT: [10]  - Zn2FPU2
41*6a8fabf5SSimon Pilgrim# CHECK-NEXT: [11]  - Zn2FPU3
42*6a8fabf5SSimon Pilgrim# CHECK-NEXT: [12]  - Zn2Multiplier
43*6a8fabf5SSimon Pilgrim
44*6a8fabf5SSimon Pilgrim# CHECK:      Resource pressure per iteration:
45*6a8fabf5SSimon Pilgrim# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]    [10]   [11]   [12]
46*6a8fabf5SSimon Pilgrim# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -
47*6a8fabf5SSimon Pilgrim
48*6a8fabf5SSimon Pilgrim# CHECK:      Resource pressure by instruction:
49*6a8fabf5SSimon Pilgrim# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]    [10]   [11]   [12]   Instructions:
50*6a8fabf5SSimon Pilgrim# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -     xgetbv
51*6a8fabf5SSimon Pilgrim# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -     xrstor	(%rax)
52*6a8fabf5SSimon Pilgrim# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -     xrstors	(%rax)
53*6a8fabf5SSimon Pilgrim# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -     xsave	(%rax)
54*6a8fabf5SSimon Pilgrim# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -     xsetbv
55