xref: /llvm-project/llvm/test/tools/llvm-mca/X86/Znver2/resources-adx.s (revision 2accdb6ae19093e2a571072b4f19b5f58c0c9349)
1*3408940fSGanesh Gopalasubramanian# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
2*3408940fSGanesh Gopalasubramanian# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=znver2 -instruction-tables < %s | FileCheck %s
3*3408940fSGanesh Gopalasubramanian
4*3408940fSGanesh Gopalasubramanianadcx        %ebx, %ecx
5*3408940fSGanesh Gopalasubramanianadcx        (%rbx), %ecx
6*3408940fSGanesh Gopalasubramanianadcx        %rbx, %rcx
7*3408940fSGanesh Gopalasubramanianadcx        (%rbx), %rcx
8*3408940fSGanesh Gopalasubramanian
9*3408940fSGanesh Gopalasubramanianadox        %ebx, %ecx
10*3408940fSGanesh Gopalasubramanianadox        (%rbx), %ecx
11*3408940fSGanesh Gopalasubramanianadox        %rbx, %rcx
12*3408940fSGanesh Gopalasubramanianadox        (%rbx), %rcx
13*3408940fSGanesh Gopalasubramanian
14*3408940fSGanesh Gopalasubramanian# CHECK:      Instruction Info:
15*3408940fSGanesh Gopalasubramanian# CHECK-NEXT: [1]: #uOps
16*3408940fSGanesh Gopalasubramanian# CHECK-NEXT: [2]: Latency
17*3408940fSGanesh Gopalasubramanian# CHECK-NEXT: [3]: RThroughput
18*3408940fSGanesh Gopalasubramanian# CHECK-NEXT: [4]: MayLoad
19*3408940fSGanesh Gopalasubramanian# CHECK-NEXT: [5]: MayStore
20*3408940fSGanesh Gopalasubramanian# CHECK-NEXT: [6]: HasSideEffects (U)
21*3408940fSGanesh Gopalasubramanian
22*3408940fSGanesh Gopalasubramanian# CHECK:      [1]    [2]    [3]    [4]    [5]    [6]    Instructions:
23*3408940fSGanesh Gopalasubramanian# CHECK-NEXT:  1      1     0.25                        adcxl	%ebx, %ecx
24*3408940fSGanesh Gopalasubramanian# CHECK-NEXT:  2      5     0.33    *                   adcxl	(%rbx), %ecx
25*3408940fSGanesh Gopalasubramanian# CHECK-NEXT:  1      1     0.25                        adcxq	%rbx, %rcx
26*3408940fSGanesh Gopalasubramanian# CHECK-NEXT:  2      5     0.33    *                   adcxq	(%rbx), %rcx
27*3408940fSGanesh Gopalasubramanian# CHECK-NEXT:  1      1     0.25                        adoxl	%ebx, %ecx
28*3408940fSGanesh Gopalasubramanian# CHECK-NEXT:  2      5     0.33    *                   adoxl	(%rbx), %ecx
29*3408940fSGanesh Gopalasubramanian# CHECK-NEXT:  1      1     0.25                        adoxq	%rbx, %rcx
30*3408940fSGanesh Gopalasubramanian# CHECK-NEXT:  2      5     0.33    *                   adoxq	(%rbx), %rcx
31*3408940fSGanesh Gopalasubramanian
32*3408940fSGanesh Gopalasubramanian# CHECK:      Resources:
33*3408940fSGanesh Gopalasubramanian# CHECK-NEXT: [0]   - Zn2AGU0
34*3408940fSGanesh Gopalasubramanian# CHECK-NEXT: [1]   - Zn2AGU1
35*3408940fSGanesh Gopalasubramanian# CHECK-NEXT: [2]   - Zn2AGU2
36*3408940fSGanesh Gopalasubramanian# CHECK-NEXT: [3]   - Zn2ALU0
37*3408940fSGanesh Gopalasubramanian# CHECK-NEXT: [4]   - Zn2ALU1
38*3408940fSGanesh Gopalasubramanian# CHECK-NEXT: [5]   - Zn2ALU2
39*3408940fSGanesh Gopalasubramanian# CHECK-NEXT: [6]   - Zn2ALU3
40*3408940fSGanesh Gopalasubramanian# CHECK-NEXT: [7]   - Zn2Divider
41*3408940fSGanesh Gopalasubramanian# CHECK-NEXT: [8]   - Zn2FPU0
42*3408940fSGanesh Gopalasubramanian# CHECK-NEXT: [9]   - Zn2FPU1
43*3408940fSGanesh Gopalasubramanian# CHECK-NEXT: [10]  - Zn2FPU2
44*3408940fSGanesh Gopalasubramanian# CHECK-NEXT: [11]  - Zn2FPU3
45*3408940fSGanesh Gopalasubramanian# CHECK-NEXT: [12]  - Zn2Multiplier
46*3408940fSGanesh Gopalasubramanian
47*3408940fSGanesh Gopalasubramanian# CHECK:      Resource pressure per iteration:
48*3408940fSGanesh Gopalasubramanian# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]    [10]   [11]   [12]
49*3408940fSGanesh Gopalasubramanian# CHECK-NEXT: 1.33   1.33   1.33   2.00   2.00   2.00   2.00    -      -      -      -      -      -
50*3408940fSGanesh Gopalasubramanian
51*3408940fSGanesh Gopalasubramanian# CHECK:      Resource pressure by instruction:
52*3408940fSGanesh Gopalasubramanian# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]    [10]   [11]   [12]   Instructions:
53*3408940fSGanesh Gopalasubramanian# CHECK-NEXT:  -      -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     adcxl	%ebx, %ecx
54*3408940fSGanesh Gopalasubramanian# CHECK-NEXT: 0.33   0.33   0.33   0.25   0.25   0.25   0.25    -      -      -      -      -      -     adcxl	(%rbx), %ecx
55*3408940fSGanesh Gopalasubramanian# CHECK-NEXT:  -      -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     adcxq	%rbx, %rcx
56*3408940fSGanesh Gopalasubramanian# CHECK-NEXT: 0.33   0.33   0.33   0.25   0.25   0.25   0.25    -      -      -      -      -      -     adcxq	(%rbx), %rcx
57*3408940fSGanesh Gopalasubramanian# CHECK-NEXT:  -      -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     adoxl	%ebx, %ecx
58*3408940fSGanesh Gopalasubramanian# CHECK-NEXT: 0.33   0.33   0.33   0.25   0.25   0.25   0.25    -      -      -      -      -      -     adoxl	(%rbx), %ecx
59*3408940fSGanesh Gopalasubramanian# CHECK-NEXT:  -      -      -     0.25   0.25   0.25   0.25    -      -      -      -      -      -     adoxq	%rbx, %rcx
60*3408940fSGanesh Gopalasubramanian# CHECK-NEXT: 0.33   0.33   0.33   0.25   0.25   0.25   0.25    -      -      -      -      -      -     adoxq	(%rbx), %rcx
61