xref: /llvm-project/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-rdseed.s (revision 7ec7272b8056c70f38081aa55ccfb5e8aacf0c53)
1*7ec7272bSSimon Pilgrim# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
2*7ec7272bSSimon Pilgrim# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=icelake-server -instruction-tables < %s | FileCheck %s
3*7ec7272bSSimon Pilgrim
4*7ec7272bSSimon Pilgrimrdseed   %ax
5*7ec7272bSSimon Pilgrimrdseed   %eax
6*7ec7272bSSimon Pilgrimrdseed   %rax
7*7ec7272bSSimon Pilgrim
8*7ec7272bSSimon Pilgrim# CHECK:      Instruction Info:
9*7ec7272bSSimon Pilgrim# CHECK-NEXT: [1]: #uOps
10*7ec7272bSSimon Pilgrim# CHECK-NEXT: [2]: Latency
11*7ec7272bSSimon Pilgrim# CHECK-NEXT: [3]: RThroughput
12*7ec7272bSSimon Pilgrim# CHECK-NEXT: [4]: MayLoad
13*7ec7272bSSimon Pilgrim# CHECK-NEXT: [5]: MayStore
14*7ec7272bSSimon Pilgrim# CHECK-NEXT: [6]: HasSideEffects (U)
15*7ec7272bSSimon Pilgrim
16*7ec7272bSSimon Pilgrim# CHECK:      [1]    [2]    [3]    [4]    [5]    [6]    Instructions:
17*7ec7272bSSimon Pilgrim# CHECK-NEXT:  1      100   0.25                  U     rdseedw	%ax
18*7ec7272bSSimon Pilgrim# CHECK-NEXT:  1      100   0.25                  U     rdseedl	%eax
19*7ec7272bSSimon Pilgrim# CHECK-NEXT:  1      100   0.25                  U     rdseedq	%rax
20*7ec7272bSSimon Pilgrim
21*7ec7272bSSimon Pilgrim# CHECK:      Resources:
22*7ec7272bSSimon Pilgrim# CHECK-NEXT: [0]   - ICXDivider
23*7ec7272bSSimon Pilgrim# CHECK-NEXT: [1]   - ICXFPDivider
24*7ec7272bSSimon Pilgrim# CHECK-NEXT: [2]   - ICXPort0
25*7ec7272bSSimon Pilgrim# CHECK-NEXT: [3]   - ICXPort1
26*7ec7272bSSimon Pilgrim# CHECK-NEXT: [4]   - ICXPort2
27*7ec7272bSSimon Pilgrim# CHECK-NEXT: [5]   - ICXPort3
28*7ec7272bSSimon Pilgrim# CHECK-NEXT: [6]   - ICXPort4
29*7ec7272bSSimon Pilgrim# CHECK-NEXT: [7]   - ICXPort5
30*7ec7272bSSimon Pilgrim# CHECK-NEXT: [8]   - ICXPort6
31*7ec7272bSSimon Pilgrim# CHECK-NEXT: [9]   - ICXPort7
32*7ec7272bSSimon Pilgrim# CHECK-NEXT: [10]  - ICXPort8
33*7ec7272bSSimon Pilgrim# CHECK-NEXT: [11]  - ICXPort9
34*7ec7272bSSimon Pilgrim
35*7ec7272bSSimon Pilgrim# CHECK:      Resource pressure per iteration:
36*7ec7272bSSimon Pilgrim# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]    [10]   [11]
37*7ec7272bSSimon Pilgrim# CHECK-NEXT:  -      -     0.75   0.75    -      -      -     0.75   0.75    -      -      -
38*7ec7272bSSimon Pilgrim
39*7ec7272bSSimon Pilgrim# CHECK:      Resource pressure by instruction:
40*7ec7272bSSimon Pilgrim# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]    [10]   [11]   Instructions:
41*7ec7272bSSimon Pilgrim# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -      -      -     rdseedw	%ax
42*7ec7272bSSimon Pilgrim# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -      -      -     rdseedl	%eax
43*7ec7272bSSimon Pilgrim# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -      -      -     rdseedq	%rax
44