llvm/llvm/test/tools/llvm-mca/AArch64/Neoverse/V2-zero-lat-movs.s

# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
# RUN: llvm-mca -mtriple=aarch64 -mcpu=neoverse-v2 -instruction-tables < %s | FileCheck %s

mov  x1, #0
mov  x1, xzr
mov  w1, #0
mov  w1, wzr
fmov h1, wzr
fmov h1, xzr
fmov s1, wzr
fmov d1, xzr
movi d1, #0
movi v1.2d, #0
mov  w1, w2
mov  x1, x2

# 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      0     0.06                        mov	x1, #0
# CHECK-NEXT:  1      0     0.06                        mov	x1, xzr
# CHECK-NEXT:  1      0     0.06                        mov	w1, #0
# CHECK-NEXT:  1      0     0.06                        mov	w1, wzr
# CHECK-NEXT:  1      0     0.06                        fmov	h1, wzr
# CHECK-NEXT:  1      0     0.06                        fmov	h1, xzr
# CHECK-NEXT:  1      0     0.06                        fmov	s1, wzr
# CHECK-NEXT:  1      0     0.06                        fmov	d1, xzr
# CHECK-NEXT:  1      0     0.06                        movi	d1, #0000000000000000
# CHECK-NEXT:  1      0     0.06                        movi	v1.2d, #0000000000000000
# CHECK-NEXT:  1      0     0.06                        mov	w1, w2
# CHECK-NEXT:  1      0     0.06                        mov	x1, x2

# CHECK:      Resources:
# CHECK-NEXT: [0.0] - V2UnitB
# CHECK-NEXT: [0.1] - V2UnitB
# CHECK-NEXT: [1.0] - V2UnitD
# CHECK-NEXT: [1.1] - V2UnitD
# CHECK-NEXT: [2]   - V2UnitL2
# CHECK-NEXT: [3.0] - V2UnitL01
# CHECK-NEXT: [3.1] - V2UnitL01
# CHECK-NEXT: [4]   - V2UnitM0
# CHECK-NEXT: [5]   - V2UnitM1
# CHECK-NEXT: [6]   - V2UnitS0
# CHECK-NEXT: [7]   - V2UnitS1
# CHECK-NEXT: [8]   - V2UnitS2
# CHECK-NEXT: [9]   - V2UnitS3
# CHECK-NEXT: [10]  - V2UnitV0
# CHECK-NEXT: [11]  - V2UnitV1
# CHECK-NEXT: [12]  - V2UnitV2
# CHECK-NEXT: [13]  - V2UnitV3

# CHECK:      Resource pressure per iteration:
# CHECK-NEXT: [0.0]  [0.1]  [1.0]  [1.1]  [2]    [3.0]  [3.1]  [4]    [5]    [6]    [7]    [8]    [9]    [10]   [11]   [12]   [13]
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -

# CHECK:      Resource pressure by instruction:
# CHECK-NEXT: [0.0]  [0.1]  [1.0]  [1.1]  [2]    [3.0]  [3.1]  [4]    [5]    [6]    [7]    [8]    [9]    [10]   [11]   [12]   [13]   Instructions:
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     mov	x1, #0
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     mov	x1, xzr
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     mov	w1, #0
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     mov	w1, wzr
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     fmov	h1, wzr
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     fmov	h1, xzr
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     fmov	s1, wzr
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     fmov	d1, xzr
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     movi	d1, #0000000000000000
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     movi	v1.2d, #0000000000000000
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     mov	w1, w2
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     mov	x1, x2