mirror of
https://github.com/intel/llvm.git
synced 2026-01-13 02:38:07 +08:00
[llvm-mca][AArch64] Merge Neoverse NEON tests (NFC) (#170881)
Follow-on from #170324 to also refactor the NEON tests to reuse the
input assembly across all Neoverse cores.
The approach is as follows:
- Inputs for Neoverse N1/N2/N3 NEON tests are already identical, so
first combine those.
- Inputs for V2/V3/V3AE NEON tests are also already identical, but
differ from N-cores, so combine those separately.
- Most significantly, input for V1 differs from all other cores
primarily because of 24f0901 (#128892).
- Split out features that are not supported across all cores.
- Split out FEAT_I8MM, FEAT_FHM, FEAT_FCMA. N1 doesn't have this
feature but all other Neoverse cores do. Also adds coverage for
N2/N3 since they were missing tests.
- Split out FEAT_BF16. V1 doesn't have this feature but all other
Neoverse cores do. Also adds coverage for N1/N2/N3 since they were
missing tests.
- Split out FEAT_FRINTTS. V1/N1 don't have this feature but all other
Neoverse cores do. Also adds coverage for N2/N3 since they were
missing tests.
- Bring Neoverse V2/V3/V3AE and N1/N2/N3 neon tests inline. Comparing
N[1-3] against V[2-3] the only change the N cores have that V[2-3]
dont is:
```
< st4 { v0.d, v1.d, v2.d, v3.d }[1], [x0], x5
---
> st4 { v0.b, v1.b, v2.b, v3.b }[9], [x0], x5
```
So we take it for all cores. The rest of the diff is
instructions in V[2-3] that arent in N cores, so we also take them.
All Neoverse cores can optionally support the Cryptographic Extension.
The related features (AES, ...) are enabled by default for V1/N1 but not
the other cores, so need to be explicitly enabled via -mattr.
- Finally bring Neoverse V1 inline with V2/V3/V3AE/N1/N2/N3
- loads/stores are blended
- duplicates with different spaces like `shll v0.2d, v0.2s, #32` are
removed
- the rest of the diff is instructions in V1 that are not tested in the
other cores, so we add them for the other cores
This commit is contained in:
@@ -0,0 +1,11 @@
|
||||
bfcvt h0, s0
|
||||
bfcvtn v0.4h, v0.4s
|
||||
bfcvtn2 v0.8h, v0.4s
|
||||
bfdot v0.2s, v24.4h, v14.2h[2]
|
||||
bfdot v0.2s, v0.4h, v0.4h
|
||||
bfdot v0.4s, v0.8h, v0.8h
|
||||
bfmlalb v0.4s, v0.8h, v0.8h
|
||||
bfmlalb v0.4s, v0.8h, v0.h[3]
|
||||
bfmlalt v0.4s, v0.8h, v0.8h
|
||||
bfmlalt v0.4s, v0.8h, v0.h[3]
|
||||
bfmmla v0.4s, v0.8h, v0.8h
|
||||
@@ -0,0 +1,4 @@
|
||||
fcadd v0.2s, v0.2s, v0.2s, 90
|
||||
fcadd v0.4s, v0.4s, v0.4s, 270
|
||||
fcmla v0.2s, v0.2s, v0.2s, #90
|
||||
fcmla v0.4s, v0.4s, v0.s[1], #0
|
||||
@@ -0,0 +1,16 @@
|
||||
fmlal v0.2s, v0.2h, v0.h[1]
|
||||
fmlal v0.4s, v0.4h, v0.h[3]
|
||||
fmlal v0.2s, v0.2h, v0.2h
|
||||
fmlal v0.4s, v0.4h, v0.4h
|
||||
fmlal2 v0.2s, v0.2h, v0.h[1]
|
||||
fmlal2 v0.4s, v0.4h, v0.h[3]
|
||||
fmlal2 v0.2s, v0.2h, v0.2h
|
||||
fmlal2 v0.4s, v0.4h, v0.4h
|
||||
fmlsl v0.2s, v0.2h, v0.h[1]
|
||||
fmlsl v0.4s, v0.4h, v0.h[3]
|
||||
fmlsl v0.2s, v0.2h, v0.2h
|
||||
fmlsl v0.4s, v0.4h, v0.4h
|
||||
fmlsl2 v0.2s, v0.2h, v0.h[1]
|
||||
fmlsl2 v0.4s, v0.4h, v0.h[3]
|
||||
fmlsl2 v0.2s, v0.2h, v0.2h
|
||||
fmlsl2 v0.4s, v0.4h, v0.4h
|
||||
@@ -0,0 +1,12 @@
|
||||
frint32x v0.2d, v0.2d
|
||||
frint32x v0.2s, v0.2s
|
||||
frint32x v0.4s, v0.4s
|
||||
frint32z v0.2d, v0.2d
|
||||
frint32z v0.2s, v0.2s
|
||||
frint32z v0.4s, v0.4s
|
||||
frint64x v0.2d, v0.2d
|
||||
frint64x v0.2s, v0.2s
|
||||
frint64x v0.4s, v0.4s
|
||||
frint64z v0.2d, v0.2d
|
||||
frint64z v0.2s, v0.2s
|
||||
frint64z v0.4s, v0.4s
|
||||
@@ -0,0 +1,9 @@
|
||||
smmla v0.4s, v0.16b, v0.16b
|
||||
sudot v0.2s, v0.8b, v0.4b[2]
|
||||
sudot v0.4s, v0.16b, v0.4b[2]
|
||||
ummla v0.4s, v0.16b, v0.16b
|
||||
usdot v0.2s, v0.8b, v0.4b[2]
|
||||
usdot v0.2s, v0.8b, v0.8b
|
||||
usdot v0.4s, v0.16b, v0.16b
|
||||
usdot v0.4s, v0.16b, v0.4b[2]
|
||||
usmmla v0.4s, v0.16b, v0.16b
|
||||
1559
llvm/test/tools/llvm-mca/AArch64/Neoverse/Inputs/neon-instructions.s
Normal file
1559
llvm/test/tools/llvm-mca/AArch64/Neoverse/Inputs/neon-instructions.s
Normal file
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,56 @@
|
||||
# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
|
||||
# RUN: llvm-mca -mtriple=aarch64 -mcpu=neoverse-n2 -instruction-tables < %p/Inputs/bf16-instructions.s | FileCheck %s
|
||||
|
||||
# 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 3 1.00 bfcvt h0, s0
|
||||
# CHECK-NEXT: 1 4 1.00 bfcvtn v0.4h, v0.4s
|
||||
# CHECK-NEXT: 1 4 1.00 bfcvtn2 v0.8h, v0.4s
|
||||
# CHECK-NEXT: 1 2 0.50 bfdot v0.2s, v24.4h, v14.2h[2]
|
||||
# CHECK-NEXT: 1 4 0.50 bfdot v0.2s, v0.4h, v0.4h
|
||||
# CHECK-NEXT: 1 4 0.50 bfdot v0.4s, v0.8h, v0.8h
|
||||
# CHECK-NEXT: 1 4 0.50 bfmlalb v0.4s, v0.8h, v0.8h
|
||||
# CHECK-NEXT: 1 4 0.50 bfmlalb v0.4s, v0.8h, v0.h[3]
|
||||
# CHECK-NEXT: 1 4 0.50 bfmlalt v0.4s, v0.8h, v0.8h
|
||||
# CHECK-NEXT: 1 4 0.50 bfmlalt v0.4s, v0.8h, v0.h[3]
|
||||
# CHECK-NEXT: 1 5 0.50 bfmmla v0.4s, v0.8h, v0.8h
|
||||
|
||||
# CHECK: Resources:
|
||||
# CHECK-NEXT: [0.0] - N2UnitB
|
||||
# CHECK-NEXT: [0.1] - N2UnitB
|
||||
# CHECK-NEXT: [1.0] - N2UnitD
|
||||
# CHECK-NEXT: [1.1] - N2UnitD
|
||||
# CHECK-NEXT: [2] - N2UnitL2
|
||||
# CHECK-NEXT: [3.0] - N2UnitL01
|
||||
# CHECK-NEXT: [3.1] - N2UnitL01
|
||||
# CHECK-NEXT: [4] - N2UnitM0
|
||||
# CHECK-NEXT: [5] - N2UnitM1
|
||||
# CHECK-NEXT: [6.0] - N2UnitS
|
||||
# CHECK-NEXT: [6.1] - N2UnitS
|
||||
# CHECK-NEXT: [7] - N2UnitV0
|
||||
# CHECK-NEXT: [8] - N2UnitV1
|
||||
|
||||
# CHECK: Resource pressure per iteration:
|
||||
# CHECK-NEXT: [0.0] [0.1] [1.0] [1.1] [2] [3.0] [3.1] [4] [5] [6.0] [6.1] [7] [8]
|
||||
# CHECK-NEXT: - - - - - - - - - - - 7.00 4.00
|
||||
|
||||
# CHECK: Resource pressure by instruction:
|
||||
# CHECK-NEXT: [0.0] [0.1] [1.0] [1.1] [2] [3.0] [3.1] [4] [5] [6.0] [6.1] [7] [8] Instructions:
|
||||
# CHECK-NEXT: - - - - - - - - - - - 1.00 - bfcvt h0, s0
|
||||
# CHECK-NEXT: - - - - - - - - - - - 1.00 - bfcvtn v0.4h, v0.4s
|
||||
# CHECK-NEXT: - - - - - - - - - - - 1.00 - bfcvtn2 v0.8h, v0.4s
|
||||
# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 bfdot v0.2s, v24.4h, v14.2h[2]
|
||||
# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 bfdot v0.2s, v0.4h, v0.4h
|
||||
# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 bfdot v0.4s, v0.8h, v0.8h
|
||||
# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 bfmlalb v0.4s, v0.8h, v0.8h
|
||||
# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 bfmlalb v0.4s, v0.8h, v0.h[3]
|
||||
# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 bfmlalt v0.4s, v0.8h, v0.8h
|
||||
# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 bfmlalt v0.4s, v0.8h, v0.h[3]
|
||||
# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 bfmmla v0.4s, v0.8h, v0.8h
|
||||
@@ -0,0 +1,42 @@
|
||||
# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
|
||||
# RUN: llvm-mca -mtriple=aarch64 -mcpu=neoverse-n2 -instruction-tables < %p/Inputs/complxnum-instructions.s | FileCheck %s
|
||||
|
||||
# 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 2 0.50 fcadd v0.2s, v0.2s, v0.2s, #90
|
||||
# CHECK-NEXT: 1 2 0.50 fcadd v0.4s, v0.4s, v0.4s, #270
|
||||
# CHECK-NEXT: 1 4 0.50 fcmla v0.2s, v0.2s, v0.2s, #90
|
||||
# CHECK-NEXT: 1 4 0.50 fcmla v0.4s, v0.4s, v0.s[1], #0
|
||||
|
||||
# CHECK: Resources:
|
||||
# CHECK-NEXT: [0.0] - N2UnitB
|
||||
# CHECK-NEXT: [0.1] - N2UnitB
|
||||
# CHECK-NEXT: [1.0] - N2UnitD
|
||||
# CHECK-NEXT: [1.1] - N2UnitD
|
||||
# CHECK-NEXT: [2] - N2UnitL2
|
||||
# CHECK-NEXT: [3.0] - N2UnitL01
|
||||
# CHECK-NEXT: [3.1] - N2UnitL01
|
||||
# CHECK-NEXT: [4] - N2UnitM0
|
||||
# CHECK-NEXT: [5] - N2UnitM1
|
||||
# CHECK-NEXT: [6.0] - N2UnitS
|
||||
# CHECK-NEXT: [6.1] - N2UnitS
|
||||
# CHECK-NEXT: [7] - N2UnitV0
|
||||
# CHECK-NEXT: [8] - N2UnitV1
|
||||
|
||||
# CHECK: Resource pressure per iteration:
|
||||
# CHECK-NEXT: [0.0] [0.1] [1.0] [1.1] [2] [3.0] [3.1] [4] [5] [6.0] [6.1] [7] [8]
|
||||
# CHECK-NEXT: - - - - - - - - - - - 2.00 2.00
|
||||
|
||||
# CHECK: Resource pressure by instruction:
|
||||
# CHECK-NEXT: [0.0] [0.1] [1.0] [1.1] [2] [3.0] [3.1] [4] [5] [6.0] [6.1] [7] [8] Instructions:
|
||||
# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcadd v0.2s, v0.2s, v0.2s, #90
|
||||
# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcadd v0.4s, v0.4s, v0.4s, #270
|
||||
# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcmla v0.2s, v0.2s, v0.2s, #90
|
||||
# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcmla v0.4s, v0.4s, v0.s[1], #0
|
||||
@@ -0,0 +1,66 @@
|
||||
# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
|
||||
# RUN: llvm-mca -mtriple=aarch64 -mcpu=neoverse-n2 -instruction-tables < %p/Inputs/fp16fml-instructions.s | FileCheck %s
|
||||
|
||||
# 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 2 0.50 fmlal v0.2s, v0.2h, v0.h[1]
|
||||
# CHECK-NEXT: 1 2 0.50 fmlal v0.4s, v0.4h, v0.h[3]
|
||||
# CHECK-NEXT: 1 5 0.50 fmlal v0.2s, v0.2h, v0.2h
|
||||
# CHECK-NEXT: 1 5 0.50 fmlal v0.4s, v0.4h, v0.4h
|
||||
# CHECK-NEXT: 1 2 0.50 fmlal2 v0.2s, v0.2h, v0.h[1]
|
||||
# CHECK-NEXT: 1 2 0.50 fmlal2 v0.4s, v0.4h, v0.h[3]
|
||||
# CHECK-NEXT: 1 2 0.50 fmlal2 v0.2s, v0.2h, v0.2h
|
||||
# CHECK-NEXT: 1 2 0.50 fmlal2 v0.4s, v0.4h, v0.4h
|
||||
# CHECK-NEXT: 1 2 0.50 fmlsl v0.2s, v0.2h, v0.h[1]
|
||||
# CHECK-NEXT: 1 2 0.50 fmlsl v0.4s, v0.4h, v0.h[3]
|
||||
# CHECK-NEXT: 1 5 0.50 fmlsl v0.2s, v0.2h, v0.2h
|
||||
# CHECK-NEXT: 1 5 0.50 fmlsl v0.4s, v0.4h, v0.4h
|
||||
# CHECK-NEXT: 1 2 0.50 fmlsl2 v0.2s, v0.2h, v0.h[1]
|
||||
# CHECK-NEXT: 1 2 0.50 fmlsl2 v0.4s, v0.4h, v0.h[3]
|
||||
# CHECK-NEXT: 1 2 0.50 fmlsl2 v0.2s, v0.2h, v0.2h
|
||||
# CHECK-NEXT: 1 2 0.50 fmlsl2 v0.4s, v0.4h, v0.4h
|
||||
|
||||
# CHECK: Resources:
|
||||
# CHECK-NEXT: [0.0] - N2UnitB
|
||||
# CHECK-NEXT: [0.1] - N2UnitB
|
||||
# CHECK-NEXT: [1.0] - N2UnitD
|
||||
# CHECK-NEXT: [1.1] - N2UnitD
|
||||
# CHECK-NEXT: [2] - N2UnitL2
|
||||
# CHECK-NEXT: [3.0] - N2UnitL01
|
||||
# CHECK-NEXT: [3.1] - N2UnitL01
|
||||
# CHECK-NEXT: [4] - N2UnitM0
|
||||
# CHECK-NEXT: [5] - N2UnitM1
|
||||
# CHECK-NEXT: [6.0] - N2UnitS
|
||||
# CHECK-NEXT: [6.1] - N2UnitS
|
||||
# CHECK-NEXT: [7] - N2UnitV0
|
||||
# CHECK-NEXT: [8] - N2UnitV1
|
||||
|
||||
# CHECK: Resource pressure per iteration:
|
||||
# CHECK-NEXT: [0.0] [0.1] [1.0] [1.1] [2] [3.0] [3.1] [4] [5] [6.0] [6.1] [7] [8]
|
||||
# CHECK-NEXT: - - - - - - - - - - - 8.00 8.00
|
||||
|
||||
# CHECK: Resource pressure by instruction:
|
||||
# CHECK-NEXT: [0.0] [0.1] [1.0] [1.1] [2] [3.0] [3.1] [4] [5] [6.0] [6.1] [7] [8] Instructions:
|
||||
# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmlal v0.2s, v0.2h, v0.h[1]
|
||||
# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmlal v0.4s, v0.4h, v0.h[3]
|
||||
# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmlal v0.2s, v0.2h, v0.2h
|
||||
# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmlal v0.4s, v0.4h, v0.4h
|
||||
# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmlal2 v0.2s, v0.2h, v0.h[1]
|
||||
# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmlal2 v0.4s, v0.4h, v0.h[3]
|
||||
# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmlal2 v0.2s, v0.2h, v0.2h
|
||||
# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmlal2 v0.4s, v0.4h, v0.4h
|
||||
# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmlsl v0.2s, v0.2h, v0.h[1]
|
||||
# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmlsl v0.4s, v0.4h, v0.h[3]
|
||||
# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmlsl v0.2s, v0.2h, v0.2h
|
||||
# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmlsl v0.4s, v0.4h, v0.4h
|
||||
# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmlsl2 v0.2s, v0.2h, v0.h[1]
|
||||
# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmlsl2 v0.4s, v0.4h, v0.h[3]
|
||||
# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmlsl2 v0.2s, v0.2h, v0.2h
|
||||
# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmlsl2 v0.4s, v0.4h, v0.4h
|
||||
@@ -0,0 +1,58 @@
|
||||
# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
|
||||
# RUN: llvm-mca -mtriple=aarch64 -mcpu=neoverse-n2 -instruction-tables < %p/Inputs/fptoint-instructions.s | FileCheck %s
|
||||
|
||||
# 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 3 1.00 frint32x v0.2d, v0.2d
|
||||
# CHECK-NEXT: 1 3 1.00 frint32x v0.2s, v0.2s
|
||||
# CHECK-NEXT: 2 4 2.00 frint32x v0.4s, v0.4s
|
||||
# CHECK-NEXT: 1 3 1.00 frint32z v0.2d, v0.2d
|
||||
# CHECK-NEXT: 1 3 1.00 frint32z v0.2s, v0.2s
|
||||
# CHECK-NEXT: 2 4 2.00 frint32z v0.4s, v0.4s
|
||||
# CHECK-NEXT: 1 3 1.00 frint64x v0.2d, v0.2d
|
||||
# CHECK-NEXT: 1 3 1.00 frint64x v0.2s, v0.2s
|
||||
# CHECK-NEXT: 2 4 2.00 frint64x v0.4s, v0.4s
|
||||
# CHECK-NEXT: 1 3 1.00 frint64z v0.2d, v0.2d
|
||||
# CHECK-NEXT: 1 3 1.00 frint64z v0.2s, v0.2s
|
||||
# CHECK-NEXT: 2 4 2.00 frint64z v0.4s, v0.4s
|
||||
|
||||
# CHECK: Resources:
|
||||
# CHECK-NEXT: [0.0] - N2UnitB
|
||||
# CHECK-NEXT: [0.1] - N2UnitB
|
||||
# CHECK-NEXT: [1.0] - N2UnitD
|
||||
# CHECK-NEXT: [1.1] - N2UnitD
|
||||
# CHECK-NEXT: [2] - N2UnitL2
|
||||
# CHECK-NEXT: [3.0] - N2UnitL01
|
||||
# CHECK-NEXT: [3.1] - N2UnitL01
|
||||
# CHECK-NEXT: [4] - N2UnitM0
|
||||
# CHECK-NEXT: [5] - N2UnitM1
|
||||
# CHECK-NEXT: [6.0] - N2UnitS
|
||||
# CHECK-NEXT: [6.1] - N2UnitS
|
||||
# CHECK-NEXT: [7] - N2UnitV0
|
||||
# CHECK-NEXT: [8] - N2UnitV1
|
||||
|
||||
# CHECK: Resource pressure per iteration:
|
||||
# CHECK-NEXT: [0.0] [0.1] [1.0] [1.1] [2] [3.0] [3.1] [4] [5] [6.0] [6.1] [7] [8]
|
||||
# CHECK-NEXT: - - - - - - - - - - - 16.00 -
|
||||
|
||||
# CHECK: Resource pressure by instruction:
|
||||
# CHECK-NEXT: [0.0] [0.1] [1.0] [1.1] [2] [3.0] [3.1] [4] [5] [6.0] [6.1] [7] [8] Instructions:
|
||||
# CHECK-NEXT: - - - - - - - - - - - 1.00 - frint32x v0.2d, v0.2d
|
||||
# CHECK-NEXT: - - - - - - - - - - - 1.00 - frint32x v0.2s, v0.2s
|
||||
# CHECK-NEXT: - - - - - - - - - - - 2.00 - frint32x v0.4s, v0.4s
|
||||
# CHECK-NEXT: - - - - - - - - - - - 1.00 - frint32z v0.2d, v0.2d
|
||||
# CHECK-NEXT: - - - - - - - - - - - 1.00 - frint32z v0.2s, v0.2s
|
||||
# CHECK-NEXT: - - - - - - - - - - - 2.00 - frint32z v0.4s, v0.4s
|
||||
# CHECK-NEXT: - - - - - - - - - - - 1.00 - frint64x v0.2d, v0.2d
|
||||
# CHECK-NEXT: - - - - - - - - - - - 1.00 - frint64x v0.2s, v0.2s
|
||||
# CHECK-NEXT: - - - - - - - - - - - 2.00 - frint64x v0.4s, v0.4s
|
||||
# CHECK-NEXT: - - - - - - - - - - - 1.00 - frint64z v0.2d, v0.2d
|
||||
# CHECK-NEXT: - - - - - - - - - - - 1.00 - frint64z v0.2s, v0.2s
|
||||
# CHECK-NEXT: - - - - - - - - - - - 2.00 - frint64z v0.4s, v0.4s
|
||||
@@ -0,0 +1,52 @@
|
||||
# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
|
||||
# RUN: llvm-mca -mtriple=aarch64 -mcpu=neoverse-n2 -instruction-tables < %p/Inputs/i8mm-instructions.s | FileCheck %s
|
||||
|
||||
# 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 3 0.50 smmla v0.4s, v0.16b, v0.16b
|
||||
# CHECK-NEXT: 1 3 0.50 sudot v0.2s, v0.8b, v0.4b[2]
|
||||
# CHECK-NEXT: 1 3 0.50 sudot v0.4s, v0.16b, v0.4b[2]
|
||||
# CHECK-NEXT: 1 3 0.50 ummla v0.4s, v0.16b, v0.16b
|
||||
# CHECK-NEXT: 1 3 0.50 usdot v0.2s, v0.8b, v0.4b[2]
|
||||
# CHECK-NEXT: 1 3 0.50 usdot v0.2s, v0.8b, v0.8b
|
||||
# CHECK-NEXT: 1 3 0.50 usdot v0.4s, v0.16b, v0.16b
|
||||
# CHECK-NEXT: 1 3 0.50 usdot v0.4s, v0.16b, v0.4b[2]
|
||||
# CHECK-NEXT: 1 3 0.50 usmmla v0.4s, v0.16b, v0.16b
|
||||
|
||||
# CHECK: Resources:
|
||||
# CHECK-NEXT: [0.0] - N2UnitB
|
||||
# CHECK-NEXT: [0.1] - N2UnitB
|
||||
# CHECK-NEXT: [1.0] - N2UnitD
|
||||
# CHECK-NEXT: [1.1] - N2UnitD
|
||||
# CHECK-NEXT: [2] - N2UnitL2
|
||||
# CHECK-NEXT: [3.0] - N2UnitL01
|
||||
# CHECK-NEXT: [3.1] - N2UnitL01
|
||||
# CHECK-NEXT: [4] - N2UnitM0
|
||||
# CHECK-NEXT: [5] - N2UnitM1
|
||||
# CHECK-NEXT: [6.0] - N2UnitS
|
||||
# CHECK-NEXT: [6.1] - N2UnitS
|
||||
# CHECK-NEXT: [7] - N2UnitV0
|
||||
# CHECK-NEXT: [8] - N2UnitV1
|
||||
|
||||
# CHECK: Resource pressure per iteration:
|
||||
# CHECK-NEXT: [0.0] [0.1] [1.0] [1.1] [2] [3.0] [3.1] [4] [5] [6.0] [6.1] [7] [8]
|
||||
# CHECK-NEXT: - - - - - - - - - - - 4.50 4.50
|
||||
|
||||
# CHECK: Resource pressure by instruction:
|
||||
# CHECK-NEXT: [0.0] [0.1] [1.0] [1.1] [2] [3.0] [3.1] [4] [5] [6.0] [6.1] [7] [8] Instructions:
|
||||
# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 smmla v0.4s, v0.16b, v0.16b
|
||||
# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 sudot v0.2s, v0.8b, v0.4b[2]
|
||||
# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 sudot v0.4s, v0.16b, v0.4b[2]
|
||||
# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 ummla v0.4s, v0.16b, v0.16b
|
||||
# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 usdot v0.2s, v0.8b, v0.4b[2]
|
||||
# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 usdot v0.2s, v0.8b, v0.8b
|
||||
# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 usdot v0.4s, v0.16b, v0.16b
|
||||
# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 usdot v0.4s, v0.16b, v0.4b[2]
|
||||
# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 usmmla v0.4s, v0.16b, v0.16b
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,56 @@
|
||||
# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
|
||||
# RUN: llvm-mca -mtriple=aarch64 -mcpu=neoverse-n3 -instruction-tables < %p/Inputs/bf16-instructions.s | FileCheck %s
|
||||
|
||||
# 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 3 1.00 bfcvt h0, s0
|
||||
# CHECK-NEXT: 2 4 2.00 bfcvtn v0.4h, v0.4s
|
||||
# CHECK-NEXT: 2 4 2.00 bfcvtn2 v0.8h, v0.4s
|
||||
# CHECK-NEXT: 1 2 0.50 bfdot v0.2s, v24.4h, v14.2h[2]
|
||||
# CHECK-NEXT: 1 4 0.50 bfdot v0.2s, v0.4h, v0.4h
|
||||
# CHECK-NEXT: 1 4 0.50 bfdot v0.4s, v0.8h, v0.8h
|
||||
# CHECK-NEXT: 1 4 0.50 bfmlalb v0.4s, v0.8h, v0.8h
|
||||
# CHECK-NEXT: 1 4 0.50 bfmlalb v0.4s, v0.8h, v0.h[3]
|
||||
# CHECK-NEXT: 1 4 0.50 bfmlalt v0.4s, v0.8h, v0.8h
|
||||
# CHECK-NEXT: 1 4 0.50 bfmlalt v0.4s, v0.8h, v0.h[3]
|
||||
# CHECK-NEXT: 1 5 0.50 bfmmla v0.4s, v0.8h, v0.8h
|
||||
|
||||
# CHECK: Resources:
|
||||
# CHECK-NEXT: [0.0] - N3UnitB
|
||||
# CHECK-NEXT: [0.1] - N3UnitB
|
||||
# CHECK-NEXT: [1.0] - N3UnitD
|
||||
# CHECK-NEXT: [1.1] - N3UnitD
|
||||
# CHECK-NEXT: [2] - N3UnitL2
|
||||
# CHECK-NEXT: [3.0] - N3UnitL01
|
||||
# CHECK-NEXT: [3.1] - N3UnitL01
|
||||
# CHECK-NEXT: [4] - N3UnitM0
|
||||
# CHECK-NEXT: [5] - N3UnitM1
|
||||
# CHECK-NEXT: [6.0] - N3UnitS
|
||||
# CHECK-NEXT: [6.1] - N3UnitS
|
||||
# CHECK-NEXT: [7] - N3UnitV0
|
||||
# CHECK-NEXT: [8] - N3UnitV1
|
||||
|
||||
# CHECK: Resource pressure per iteration:
|
||||
# CHECK-NEXT: [0.0] [0.1] [1.0] [1.1] [2] [3.0] [3.1] [4] [5] [6.0] [6.1] [7] [8]
|
||||
# CHECK-NEXT: - - - - - - - - - - - 9.00 4.00
|
||||
|
||||
# CHECK: Resource pressure by instruction:
|
||||
# CHECK-NEXT: [0.0] [0.1] [1.0] [1.1] [2] [3.0] [3.1] [4] [5] [6.0] [6.1] [7] [8] Instructions:
|
||||
# CHECK-NEXT: - - - - - - - - - - - 1.00 - bfcvt h0, s0
|
||||
# CHECK-NEXT: - - - - - - - - - - - 2.00 - bfcvtn v0.4h, v0.4s
|
||||
# CHECK-NEXT: - - - - - - - - - - - 2.00 - bfcvtn2 v0.8h, v0.4s
|
||||
# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 bfdot v0.2s, v24.4h, v14.2h[2]
|
||||
# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 bfdot v0.2s, v0.4h, v0.4h
|
||||
# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 bfdot v0.4s, v0.8h, v0.8h
|
||||
# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 bfmlalb v0.4s, v0.8h, v0.8h
|
||||
# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 bfmlalb v0.4s, v0.8h, v0.h[3]
|
||||
# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 bfmlalt v0.4s, v0.8h, v0.8h
|
||||
# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 bfmlalt v0.4s, v0.8h, v0.h[3]
|
||||
# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 bfmmla v0.4s, v0.8h, v0.8h
|
||||
@@ -0,0 +1,42 @@
|
||||
# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
|
||||
# RUN: llvm-mca -mtriple=aarch64 -mcpu=neoverse-n3 -instruction-tables < %p/Inputs/complxnum-instructions.s | FileCheck %s
|
||||
|
||||
# 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 3 0.50 fcadd v0.2s, v0.2s, v0.2s, #90
|
||||
# CHECK-NEXT: 1 3 0.50 fcadd v0.4s, v0.4s, v0.4s, #270
|
||||
# CHECK-NEXT: 1 4 0.50 fcmla v0.2s, v0.2s, v0.2s, #90
|
||||
# CHECK-NEXT: 1 4 0.50 fcmla v0.4s, v0.4s, v0.s[1], #0
|
||||
|
||||
# CHECK: Resources:
|
||||
# CHECK-NEXT: [0.0] - N3UnitB
|
||||
# CHECK-NEXT: [0.1] - N3UnitB
|
||||
# CHECK-NEXT: [1.0] - N3UnitD
|
||||
# CHECK-NEXT: [1.1] - N3UnitD
|
||||
# CHECK-NEXT: [2] - N3UnitL2
|
||||
# CHECK-NEXT: [3.0] - N3UnitL01
|
||||
# CHECK-NEXT: [3.1] - N3UnitL01
|
||||
# CHECK-NEXT: [4] - N3UnitM0
|
||||
# CHECK-NEXT: [5] - N3UnitM1
|
||||
# CHECK-NEXT: [6.0] - N3UnitS
|
||||
# CHECK-NEXT: [6.1] - N3UnitS
|
||||
# CHECK-NEXT: [7] - N3UnitV0
|
||||
# CHECK-NEXT: [8] - N3UnitV1
|
||||
|
||||
# CHECK: Resource pressure per iteration:
|
||||
# CHECK-NEXT: [0.0] [0.1] [1.0] [1.1] [2] [3.0] [3.1] [4] [5] [6.0] [6.1] [7] [8]
|
||||
# CHECK-NEXT: - - - - - - - - - - - 2.00 2.00
|
||||
|
||||
# CHECK: Resource pressure by instruction:
|
||||
# CHECK-NEXT: [0.0] [0.1] [1.0] [1.1] [2] [3.0] [3.1] [4] [5] [6.0] [6.1] [7] [8] Instructions:
|
||||
# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcadd v0.2s, v0.2s, v0.2s, #90
|
||||
# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcadd v0.4s, v0.4s, v0.4s, #270
|
||||
# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcmla v0.2s, v0.2s, v0.2s, #90
|
||||
# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcmla v0.4s, v0.4s, v0.s[1], #0
|
||||
@@ -0,0 +1,66 @@
|
||||
# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
|
||||
# RUN: llvm-mca -mtriple=aarch64 -mcpu=neoverse-n3 -instruction-tables < %p/Inputs/fp16fml-instructions.s | FileCheck %s
|
||||
|
||||
# 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 2 0.50 fmlal v0.2s, v0.2h, v0.h[1]
|
||||
# CHECK-NEXT: 1 2 0.50 fmlal v0.4s, v0.4h, v0.h[3]
|
||||
# CHECK-NEXT: 1 4 0.50 fmlal v0.2s, v0.2h, v0.2h
|
||||
# CHECK-NEXT: 1 4 0.50 fmlal v0.4s, v0.4h, v0.4h
|
||||
# CHECK-NEXT: 1 2 0.50 fmlal2 v0.2s, v0.2h, v0.h[1]
|
||||
# CHECK-NEXT: 1 2 0.50 fmlal2 v0.4s, v0.4h, v0.h[3]
|
||||
# CHECK-NEXT: 1 2 0.50 fmlal2 v0.2s, v0.2h, v0.2h
|
||||
# CHECK-NEXT: 1 2 0.50 fmlal2 v0.4s, v0.4h, v0.4h
|
||||
# CHECK-NEXT: 1 2 0.50 fmlsl v0.2s, v0.2h, v0.h[1]
|
||||
# CHECK-NEXT: 1 2 0.50 fmlsl v0.4s, v0.4h, v0.h[3]
|
||||
# CHECK-NEXT: 1 4 0.50 fmlsl v0.2s, v0.2h, v0.2h
|
||||
# CHECK-NEXT: 1 4 0.50 fmlsl v0.4s, v0.4h, v0.4h
|
||||
# CHECK-NEXT: 1 2 0.50 fmlsl2 v0.2s, v0.2h, v0.h[1]
|
||||
# CHECK-NEXT: 1 2 0.50 fmlsl2 v0.4s, v0.4h, v0.h[3]
|
||||
# CHECK-NEXT: 1 2 0.50 fmlsl2 v0.2s, v0.2h, v0.2h
|
||||
# CHECK-NEXT: 1 2 0.50 fmlsl2 v0.4s, v0.4h, v0.4h
|
||||
|
||||
# CHECK: Resources:
|
||||
# CHECK-NEXT: [0.0] - N3UnitB
|
||||
# CHECK-NEXT: [0.1] - N3UnitB
|
||||
# CHECK-NEXT: [1.0] - N3UnitD
|
||||
# CHECK-NEXT: [1.1] - N3UnitD
|
||||
# CHECK-NEXT: [2] - N3UnitL2
|
||||
# CHECK-NEXT: [3.0] - N3UnitL01
|
||||
# CHECK-NEXT: [3.1] - N3UnitL01
|
||||
# CHECK-NEXT: [4] - N3UnitM0
|
||||
# CHECK-NEXT: [5] - N3UnitM1
|
||||
# CHECK-NEXT: [6.0] - N3UnitS
|
||||
# CHECK-NEXT: [6.1] - N3UnitS
|
||||
# CHECK-NEXT: [7] - N3UnitV0
|
||||
# CHECK-NEXT: [8] - N3UnitV1
|
||||
|
||||
# CHECK: Resource pressure per iteration:
|
||||
# CHECK-NEXT: [0.0] [0.1] [1.0] [1.1] [2] [3.0] [3.1] [4] [5] [6.0] [6.1] [7] [8]
|
||||
# CHECK-NEXT: - - - - - - - - - - - 8.00 8.00
|
||||
|
||||
# CHECK: Resource pressure by instruction:
|
||||
# CHECK-NEXT: [0.0] [0.1] [1.0] [1.1] [2] [3.0] [3.1] [4] [5] [6.0] [6.1] [7] [8] Instructions:
|
||||
# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmlal v0.2s, v0.2h, v0.h[1]
|
||||
# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmlal v0.4s, v0.4h, v0.h[3]
|
||||
# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmlal v0.2s, v0.2h, v0.2h
|
||||
# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmlal v0.4s, v0.4h, v0.4h
|
||||
# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmlal2 v0.2s, v0.2h, v0.h[1]
|
||||
# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmlal2 v0.4s, v0.4h, v0.h[3]
|
||||
# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmlal2 v0.2s, v0.2h, v0.2h
|
||||
# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmlal2 v0.4s, v0.4h, v0.4h
|
||||
# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmlsl v0.2s, v0.2h, v0.h[1]
|
||||
# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmlsl v0.4s, v0.4h, v0.h[3]
|
||||
# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmlsl v0.2s, v0.2h, v0.2h
|
||||
# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmlsl v0.4s, v0.4h, v0.4h
|
||||
# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmlsl2 v0.2s, v0.2h, v0.h[1]
|
||||
# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmlsl2 v0.4s, v0.4h, v0.h[3]
|
||||
# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmlsl2 v0.2s, v0.2h, v0.2h
|
||||
# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmlsl2 v0.4s, v0.4h, v0.4h
|
||||
@@ -0,0 +1,58 @@
|
||||
# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
|
||||
# RUN: llvm-mca -mtriple=aarch64 -mcpu=neoverse-n3 -instruction-tables < %p/Inputs/fptoint-instructions.s | FileCheck %s
|
||||
|
||||
# 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 3 1.00 frint32x v0.2d, v0.2d
|
||||
# CHECK-NEXT: 1 3 1.00 frint32x v0.2s, v0.2s
|
||||
# CHECK-NEXT: 2 4 2.00 frint32x v0.4s, v0.4s
|
||||
# CHECK-NEXT: 1 3 1.00 frint32z v0.2d, v0.2d
|
||||
# CHECK-NEXT: 1 3 1.00 frint32z v0.2s, v0.2s
|
||||
# CHECK-NEXT: 2 4 2.00 frint32z v0.4s, v0.4s
|
||||
# CHECK-NEXT: 1 3 1.00 frint64x v0.2d, v0.2d
|
||||
# CHECK-NEXT: 1 3 1.00 frint64x v0.2s, v0.2s
|
||||
# CHECK-NEXT: 2 4 2.00 frint64x v0.4s, v0.4s
|
||||
# CHECK-NEXT: 1 3 1.00 frint64z v0.2d, v0.2d
|
||||
# CHECK-NEXT: 1 3 1.00 frint64z v0.2s, v0.2s
|
||||
# CHECK-NEXT: 2 4 2.00 frint64z v0.4s, v0.4s
|
||||
|
||||
# CHECK: Resources:
|
||||
# CHECK-NEXT: [0.0] - N3UnitB
|
||||
# CHECK-NEXT: [0.1] - N3UnitB
|
||||
# CHECK-NEXT: [1.0] - N3UnitD
|
||||
# CHECK-NEXT: [1.1] - N3UnitD
|
||||
# CHECK-NEXT: [2] - N3UnitL2
|
||||
# CHECK-NEXT: [3.0] - N3UnitL01
|
||||
# CHECK-NEXT: [3.1] - N3UnitL01
|
||||
# CHECK-NEXT: [4] - N3UnitM0
|
||||
# CHECK-NEXT: [5] - N3UnitM1
|
||||
# CHECK-NEXT: [6.0] - N3UnitS
|
||||
# CHECK-NEXT: [6.1] - N3UnitS
|
||||
# CHECK-NEXT: [7] - N3UnitV0
|
||||
# CHECK-NEXT: [8] - N3UnitV1
|
||||
|
||||
# CHECK: Resource pressure per iteration:
|
||||
# CHECK-NEXT: [0.0] [0.1] [1.0] [1.1] [2] [3.0] [3.1] [4] [5] [6.0] [6.1] [7] [8]
|
||||
# CHECK-NEXT: - - - - - - - - - - - 16.00 -
|
||||
|
||||
# CHECK: Resource pressure by instruction:
|
||||
# CHECK-NEXT: [0.0] [0.1] [1.0] [1.1] [2] [3.0] [3.1] [4] [5] [6.0] [6.1] [7] [8] Instructions:
|
||||
# CHECK-NEXT: - - - - - - - - - - - 1.00 - frint32x v0.2d, v0.2d
|
||||
# CHECK-NEXT: - - - - - - - - - - - 1.00 - frint32x v0.2s, v0.2s
|
||||
# CHECK-NEXT: - - - - - - - - - - - 2.00 - frint32x v0.4s, v0.4s
|
||||
# CHECK-NEXT: - - - - - - - - - - - 1.00 - frint32z v0.2d, v0.2d
|
||||
# CHECK-NEXT: - - - - - - - - - - - 1.00 - frint32z v0.2s, v0.2s
|
||||
# CHECK-NEXT: - - - - - - - - - - - 2.00 - frint32z v0.4s, v0.4s
|
||||
# CHECK-NEXT: - - - - - - - - - - - 1.00 - frint64x v0.2d, v0.2d
|
||||
# CHECK-NEXT: - - - - - - - - - - - 1.00 - frint64x v0.2s, v0.2s
|
||||
# CHECK-NEXT: - - - - - - - - - - - 2.00 - frint64x v0.4s, v0.4s
|
||||
# CHECK-NEXT: - - - - - - - - - - - 1.00 - frint64z v0.2d, v0.2d
|
||||
# CHECK-NEXT: - - - - - - - - - - - 1.00 - frint64z v0.2s, v0.2s
|
||||
# CHECK-NEXT: - - - - - - - - - - - 2.00 - frint64z v0.4s, v0.4s
|
||||
@@ -0,0 +1,52 @@
|
||||
# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
|
||||
# RUN: llvm-mca -mtriple=aarch64 -mcpu=neoverse-n3 -instruction-tables < %p/Inputs/i8mm-instructions.s | FileCheck %s
|
||||
|
||||
# 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 3 0.50 smmla v0.4s, v0.16b, v0.16b
|
||||
# CHECK-NEXT: 1 3 0.50 sudot v0.2s, v0.8b, v0.4b[2]
|
||||
# CHECK-NEXT: 1 3 0.50 sudot v0.4s, v0.16b, v0.4b[2]
|
||||
# CHECK-NEXT: 1 3 0.50 ummla v0.4s, v0.16b, v0.16b
|
||||
# CHECK-NEXT: 1 3 0.50 usdot v0.2s, v0.8b, v0.4b[2]
|
||||
# CHECK-NEXT: 1 3 0.50 usdot v0.2s, v0.8b, v0.8b
|
||||
# CHECK-NEXT: 1 3 0.50 usdot v0.4s, v0.16b, v0.16b
|
||||
# CHECK-NEXT: 1 3 0.50 usdot v0.4s, v0.16b, v0.4b[2]
|
||||
# CHECK-NEXT: 1 3 0.50 usmmla v0.4s, v0.16b, v0.16b
|
||||
|
||||
# CHECK: Resources:
|
||||
# CHECK-NEXT: [0.0] - N3UnitB
|
||||
# CHECK-NEXT: [0.1] - N3UnitB
|
||||
# CHECK-NEXT: [1.0] - N3UnitD
|
||||
# CHECK-NEXT: [1.1] - N3UnitD
|
||||
# CHECK-NEXT: [2] - N3UnitL2
|
||||
# CHECK-NEXT: [3.0] - N3UnitL01
|
||||
# CHECK-NEXT: [3.1] - N3UnitL01
|
||||
# CHECK-NEXT: [4] - N3UnitM0
|
||||
# CHECK-NEXT: [5] - N3UnitM1
|
||||
# CHECK-NEXT: [6.0] - N3UnitS
|
||||
# CHECK-NEXT: [6.1] - N3UnitS
|
||||
# CHECK-NEXT: [7] - N3UnitV0
|
||||
# CHECK-NEXT: [8] - N3UnitV1
|
||||
|
||||
# CHECK: Resource pressure per iteration:
|
||||
# CHECK-NEXT: [0.0] [0.1] [1.0] [1.1] [2] [3.0] [3.1] [4] [5] [6.0] [6.1] [7] [8]
|
||||
# CHECK-NEXT: - - - - - - - - - - - 4.50 4.50
|
||||
|
||||
# CHECK: Resource pressure by instruction:
|
||||
# CHECK-NEXT: [0.0] [0.1] [1.0] [1.1] [2] [3.0] [3.1] [4] [5] [6.0] [6.1] [7] [8] Instructions:
|
||||
# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 smmla v0.4s, v0.16b, v0.16b
|
||||
# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 sudot v0.2s, v0.8b, v0.4b[2]
|
||||
# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 sudot v0.4s, v0.16b, v0.4b[2]
|
||||
# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 ummla v0.4s, v0.16b, v0.16b
|
||||
# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 usdot v0.2s, v0.8b, v0.4b[2]
|
||||
# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 usdot v0.2s, v0.8b, v0.8b
|
||||
# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 usdot v0.4s, v0.16b, v0.16b
|
||||
# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 usdot v0.4s, v0.16b, v0.4b[2]
|
||||
# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 usmmla v0.4s, v0.16b, v0.16b
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,61 @@
|
||||
# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
|
||||
# RUN: llvm-mca -mtriple=aarch64 -mcpu=neoverse-v1 -instruction-tables < %p/Inputs/bf16-instructions.s | FileCheck %s
|
||||
|
||||
# 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 3 0.50 bfcvt h0, s0
|
||||
# CHECK-NEXT: 1 4 0.50 bfcvtn v0.4h, v0.4s
|
||||
# CHECK-NEXT: 1 4 0.50 bfcvtn2 v0.8h, v0.4s
|
||||
# CHECK-NEXT: 1 4 0.25 bfdot v0.2s, v24.4h, v14.2h[2]
|
||||
# CHECK-NEXT: 1 4 0.25 bfdot v0.2s, v0.4h, v0.4h
|
||||
# CHECK-NEXT: 1 4 0.25 bfdot v0.4s, v0.8h, v0.8h
|
||||
# CHECK-NEXT: 1 4 0.25 bfmlalb v0.4s, v0.8h, v0.8h
|
||||
# CHECK-NEXT: 1 4 0.25 bfmlalb v0.4s, v0.8h, v0.h[3]
|
||||
# CHECK-NEXT: 1 4 0.25 bfmlalt v0.4s, v0.8h, v0.8h
|
||||
# CHECK-NEXT: 1 4 0.25 bfmlalt v0.4s, v0.8h, v0.h[3]
|
||||
# CHECK-NEXT: 1 5 0.25 bfmmla v0.4s, v0.8h, v0.8h
|
||||
|
||||
# CHECK: Resources:
|
||||
# CHECK-NEXT: [0.0] - V1UnitB
|
||||
# CHECK-NEXT: [0.1] - V1UnitB
|
||||
# CHECK-NEXT: [1.0] - V1UnitD
|
||||
# CHECK-NEXT: [1.1] - V1UnitD
|
||||
# CHECK-NEXT: [2.0] - V1UnitFlg
|
||||
# CHECK-NEXT: [2.1] - V1UnitFlg
|
||||
# CHECK-NEXT: [2.2] - V1UnitFlg
|
||||
# CHECK-NEXT: [3] - V1UnitL2
|
||||
# CHECK-NEXT: [4.0] - V1UnitL01
|
||||
# CHECK-NEXT: [4.1] - V1UnitL01
|
||||
# CHECK-NEXT: [5] - V1UnitM0
|
||||
# CHECK-NEXT: [6] - V1UnitM1
|
||||
# CHECK-NEXT: [7.0] - V1UnitS
|
||||
# CHECK-NEXT: [7.1] - V1UnitS
|
||||
# CHECK-NEXT: [8] - V1UnitV0
|
||||
# CHECK-NEXT: [9] - V1UnitV1
|
||||
# CHECK-NEXT: [10] - V1UnitV2
|
||||
# CHECK-NEXT: [11] - V1UnitV3
|
||||
|
||||
# CHECK: Resource pressure per iteration:
|
||||
# CHECK-NEXT: [0.0] [0.1] [1.0] [1.1] [2.0] [2.1] [2.2] [3] [4.0] [4.1] [5] [6] [7.0] [7.1] [8] [9] [10] [11]
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - 3.50 2.00 3.50 2.00
|
||||
|
||||
# CHECK: Resource pressure by instruction:
|
||||
# CHECK-NEXT: [0.0] [0.1] [1.0] [1.1] [2.0] [2.1] [2.2] [3] [4.0] [4.1] [5] [6] [7.0] [7.1] [8] [9] [10] [11] Instructions:
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - bfcvt h0, s0
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - bfcvtn v0.4h, v0.4s
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - bfcvtn2 v0.8h, v0.4s
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 bfdot v0.2s, v24.4h, v14.2h[2]
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 bfdot v0.2s, v0.4h, v0.4h
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 bfdot v0.4s, v0.8h, v0.8h
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 bfmlalb v0.4s, v0.8h, v0.8h
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 bfmlalb v0.4s, v0.8h, v0.h[3]
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 bfmlalt v0.4s, v0.8h, v0.8h
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 bfmlalt v0.4s, v0.8h, v0.h[3]
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 bfmmla v0.4s, v0.8h, v0.8h
|
||||
@@ -0,0 +1,47 @@
|
||||
# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
|
||||
# RUN: llvm-mca -mtriple=aarch64 -mcpu=neoverse-v1 -instruction-tables < %p/Inputs/complxnum-instructions.s | FileCheck %s
|
||||
|
||||
# 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 4 0.25 fcadd v0.2s, v0.2s, v0.2s, #90
|
||||
# CHECK-NEXT: 1 4 0.25 fcadd v0.4s, v0.4s, v0.4s, #270
|
||||
# CHECK-NEXT: 1 4 0.25 fcmla v0.2s, v0.2s, v0.2s, #90
|
||||
# CHECK-NEXT: 1 4 0.25 fcmla v0.4s, v0.4s, v0.s[1], #0
|
||||
|
||||
# CHECK: Resources:
|
||||
# CHECK-NEXT: [0.0] - V1UnitB
|
||||
# CHECK-NEXT: [0.1] - V1UnitB
|
||||
# CHECK-NEXT: [1.0] - V1UnitD
|
||||
# CHECK-NEXT: [1.1] - V1UnitD
|
||||
# CHECK-NEXT: [2.0] - V1UnitFlg
|
||||
# CHECK-NEXT: [2.1] - V1UnitFlg
|
||||
# CHECK-NEXT: [2.2] - V1UnitFlg
|
||||
# CHECK-NEXT: [3] - V1UnitL2
|
||||
# CHECK-NEXT: [4.0] - V1UnitL01
|
||||
# CHECK-NEXT: [4.1] - V1UnitL01
|
||||
# CHECK-NEXT: [5] - V1UnitM0
|
||||
# CHECK-NEXT: [6] - V1UnitM1
|
||||
# CHECK-NEXT: [7.0] - V1UnitS
|
||||
# CHECK-NEXT: [7.1] - V1UnitS
|
||||
# CHECK-NEXT: [8] - V1UnitV0
|
||||
# CHECK-NEXT: [9] - V1UnitV1
|
||||
# CHECK-NEXT: [10] - V1UnitV2
|
||||
# CHECK-NEXT: [11] - V1UnitV3
|
||||
|
||||
# CHECK: Resource pressure per iteration:
|
||||
# CHECK-NEXT: [0.0] [0.1] [1.0] [1.1] [2.0] [2.1] [2.2] [3] [4.0] [4.1] [5] [6] [7.0] [7.1] [8] [9] [10] [11]
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - 1.00 1.00 1.00 1.00
|
||||
|
||||
# CHECK: Resource pressure by instruction:
|
||||
# CHECK-NEXT: [0.0] [0.1] [1.0] [1.1] [2.0] [2.1] [2.2] [3] [4.0] [4.1] [5] [6] [7.0] [7.1] [8] [9] [10] [11] Instructions:
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fcadd v0.2s, v0.2s, v0.2s, #90
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fcadd v0.4s, v0.4s, v0.4s, #270
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fcmla v0.2s, v0.2s, v0.2s, #90
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fcmla v0.4s, v0.4s, v0.s[1], #0
|
||||
@@ -0,0 +1,71 @@
|
||||
# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
|
||||
# RUN: llvm-mca -mtriple=aarch64 -mcpu=neoverse-v1 -instruction-tables < %p/Inputs/fp16fml-instructions.s | FileCheck %s
|
||||
|
||||
# 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 2 0.25 fmlal v0.2s, v0.2h, v0.h[1]
|
||||
# CHECK-NEXT: 1 2 0.25 fmlal v0.4s, v0.4h, v0.h[3]
|
||||
# CHECK-NEXT: 1 5 0.25 fmlal v0.2s, v0.2h, v0.2h
|
||||
# CHECK-NEXT: 1 5 0.25 fmlal v0.4s, v0.4h, v0.4h
|
||||
# CHECK-NEXT: 1 2 0.25 fmlal2 v0.2s, v0.2h, v0.h[1]
|
||||
# CHECK-NEXT: 1 2 0.25 fmlal2 v0.4s, v0.4h, v0.h[3]
|
||||
# CHECK-NEXT: 1 5 0.25 fmlal2 v0.2s, v0.2h, v0.2h
|
||||
# CHECK-NEXT: 1 5 0.25 fmlal2 v0.4s, v0.4h, v0.4h
|
||||
# CHECK-NEXT: 1 2 0.25 fmlsl v0.2s, v0.2h, v0.h[1]
|
||||
# CHECK-NEXT: 1 2 0.25 fmlsl v0.4s, v0.4h, v0.h[3]
|
||||
# CHECK-NEXT: 1 5 0.25 fmlsl v0.2s, v0.2h, v0.2h
|
||||
# CHECK-NEXT: 1 5 0.25 fmlsl v0.4s, v0.4h, v0.4h
|
||||
# CHECK-NEXT: 1 2 0.25 fmlsl2 v0.2s, v0.2h, v0.h[1]
|
||||
# CHECK-NEXT: 1 2 0.25 fmlsl2 v0.4s, v0.4h, v0.h[3]
|
||||
# CHECK-NEXT: 1 5 0.25 fmlsl2 v0.2s, v0.2h, v0.2h
|
||||
# CHECK-NEXT: 1 5 0.25 fmlsl2 v0.4s, v0.4h, v0.4h
|
||||
|
||||
# CHECK: Resources:
|
||||
# CHECK-NEXT: [0.0] - V1UnitB
|
||||
# CHECK-NEXT: [0.1] - V1UnitB
|
||||
# CHECK-NEXT: [1.0] - V1UnitD
|
||||
# CHECK-NEXT: [1.1] - V1UnitD
|
||||
# CHECK-NEXT: [2.0] - V1UnitFlg
|
||||
# CHECK-NEXT: [2.1] - V1UnitFlg
|
||||
# CHECK-NEXT: [2.2] - V1UnitFlg
|
||||
# CHECK-NEXT: [3] - V1UnitL2
|
||||
# CHECK-NEXT: [4.0] - V1UnitL01
|
||||
# CHECK-NEXT: [4.1] - V1UnitL01
|
||||
# CHECK-NEXT: [5] - V1UnitM0
|
||||
# CHECK-NEXT: [6] - V1UnitM1
|
||||
# CHECK-NEXT: [7.0] - V1UnitS
|
||||
# CHECK-NEXT: [7.1] - V1UnitS
|
||||
# CHECK-NEXT: [8] - V1UnitV0
|
||||
# CHECK-NEXT: [9] - V1UnitV1
|
||||
# CHECK-NEXT: [10] - V1UnitV2
|
||||
# CHECK-NEXT: [11] - V1UnitV3
|
||||
|
||||
# CHECK: Resource pressure per iteration:
|
||||
# CHECK-NEXT: [0.0] [0.1] [1.0] [1.1] [2.0] [2.1] [2.2] [3] [4.0] [4.1] [5] [6] [7.0] [7.1] [8] [9] [10] [11]
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - 4.00 4.00 4.00 4.00
|
||||
|
||||
# CHECK: Resource pressure by instruction:
|
||||
# CHECK-NEXT: [0.0] [0.1] [1.0] [1.1] [2.0] [2.1] [2.2] [3] [4.0] [4.1] [5] [6] [7.0] [7.1] [8] [9] [10] [11] Instructions:
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmlal v0.2s, v0.2h, v0.h[1]
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmlal v0.4s, v0.4h, v0.h[3]
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmlal v0.2s, v0.2h, v0.2h
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmlal v0.4s, v0.4h, v0.4h
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmlal2 v0.2s, v0.2h, v0.h[1]
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmlal2 v0.4s, v0.4h, v0.h[3]
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmlal2 v0.2s, v0.2h, v0.2h
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmlal2 v0.4s, v0.4h, v0.4h
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmlsl v0.2s, v0.2h, v0.h[1]
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmlsl v0.4s, v0.4h, v0.h[3]
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmlsl v0.2s, v0.2h, v0.2h
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmlsl v0.4s, v0.4h, v0.4h
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmlsl2 v0.2s, v0.2h, v0.h[1]
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmlsl2 v0.4s, v0.4h, v0.h[3]
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmlsl2 v0.2s, v0.2h, v0.2h
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmlsl2 v0.4s, v0.4h, v0.4h
|
||||
@@ -0,0 +1,57 @@
|
||||
# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
|
||||
# RUN: llvm-mca -mtriple=aarch64 -mcpu=neoverse-v1 -instruction-tables < %p/Inputs/i8mm-instructions.s | FileCheck %s
|
||||
|
||||
# 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 3 0.25 smmla v0.4s, v0.16b, v0.16b
|
||||
# CHECK-NEXT: 1 3 0.25 sudot v0.2s, v0.8b, v0.4b[2]
|
||||
# CHECK-NEXT: 1 3 0.25 sudot v0.4s, v0.16b, v0.4b[2]
|
||||
# CHECK-NEXT: 1 3 0.25 ummla v0.4s, v0.16b, v0.16b
|
||||
# CHECK-NEXT: 1 3 0.25 usdot v0.2s, v0.8b, v0.4b[2]
|
||||
# CHECK-NEXT: 1 3 0.25 usdot v0.2s, v0.8b, v0.8b
|
||||
# CHECK-NEXT: 1 3 0.25 usdot v0.4s, v0.16b, v0.16b
|
||||
# CHECK-NEXT: 1 3 0.25 usdot v0.4s, v0.16b, v0.4b[2]
|
||||
# CHECK-NEXT: 1 3 0.25 usmmla v0.4s, v0.16b, v0.16b
|
||||
|
||||
# CHECK: Resources:
|
||||
# CHECK-NEXT: [0.0] - V1UnitB
|
||||
# CHECK-NEXT: [0.1] - V1UnitB
|
||||
# CHECK-NEXT: [1.0] - V1UnitD
|
||||
# CHECK-NEXT: [1.1] - V1UnitD
|
||||
# CHECK-NEXT: [2.0] - V1UnitFlg
|
||||
# CHECK-NEXT: [2.1] - V1UnitFlg
|
||||
# CHECK-NEXT: [2.2] - V1UnitFlg
|
||||
# CHECK-NEXT: [3] - V1UnitL2
|
||||
# CHECK-NEXT: [4.0] - V1UnitL01
|
||||
# CHECK-NEXT: [4.1] - V1UnitL01
|
||||
# CHECK-NEXT: [5] - V1UnitM0
|
||||
# CHECK-NEXT: [6] - V1UnitM1
|
||||
# CHECK-NEXT: [7.0] - V1UnitS
|
||||
# CHECK-NEXT: [7.1] - V1UnitS
|
||||
# CHECK-NEXT: [8] - V1UnitV0
|
||||
# CHECK-NEXT: [9] - V1UnitV1
|
||||
# CHECK-NEXT: [10] - V1UnitV2
|
||||
# CHECK-NEXT: [11] - V1UnitV3
|
||||
|
||||
# CHECK: Resource pressure per iteration:
|
||||
# CHECK-NEXT: [0.0] [0.1] [1.0] [1.1] [2.0] [2.1] [2.2] [3] [4.0] [4.1] [5] [6] [7.0] [7.1] [8] [9] [10] [11]
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - 2.25 2.25 2.25 2.25
|
||||
|
||||
# CHECK: Resource pressure by instruction:
|
||||
# CHECK-NEXT: [0.0] [0.1] [1.0] [1.1] [2.0] [2.1] [2.2] [3] [4.0] [4.1] [5] [6] [7.0] [7.1] [8] [9] [10] [11] Instructions:
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 smmla v0.4s, v0.16b, v0.16b
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 sudot v0.2s, v0.8b, v0.4b[2]
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 sudot v0.4s, v0.16b, v0.4b[2]
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 ummla v0.4s, v0.16b, v0.16b
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 usdot v0.2s, v0.8b, v0.4b[2]
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 usdot v0.2s, v0.8b, v0.8b
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 usdot v0.4s, v0.16b, v0.16b
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 usdot v0.4s, v0.16b, v0.4b[2]
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 usmmla v0.4s, v0.16b, v0.16b
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,63 @@
|
||||
# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
|
||||
# RUN: llvm-mca -mtriple=aarch64 -mcpu=neoverse-v2 -instruction-tables < %p/Inputs/bf16-instructions.s | FileCheck %s
|
||||
|
||||
# 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 3 0.50 bfcvt h0, s0
|
||||
# CHECK-NEXT: 2 4 1.00 bfcvtn v0.4h, v0.4s
|
||||
# CHECK-NEXT: 2 4 1.00 bfcvtn2 v0.8h, v0.4s
|
||||
# CHECK-NEXT: 1 2 0.25 bfdot v0.2s, v24.4h, v14.2h[2]
|
||||
# CHECK-NEXT: 1 5 0.25 bfdot v0.2s, v0.4h, v0.4h
|
||||
# CHECK-NEXT: 1 5 0.25 bfdot v0.4s, v0.8h, v0.8h
|
||||
# CHECK-NEXT: 1 5 0.25 bfmlalb v0.4s, v0.8h, v0.8h
|
||||
# CHECK-NEXT: 1 5 0.25 bfmlalb v0.4s, v0.8h, v0.h[3]
|
||||
# CHECK-NEXT: 1 5 0.25 bfmlalt v0.4s, v0.8h, v0.8h
|
||||
# CHECK-NEXT: 1 5 0.25 bfmlalt v0.4s, v0.8h, v0.h[3]
|
||||
# CHECK-NEXT: 1 6 0.25 bfmmla v0.4s, v0.8h, v0.8h
|
||||
|
||||
# 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.0] - V2UnitFlg
|
||||
# CHECK-NEXT: [2.1] - V2UnitFlg
|
||||
# CHECK-NEXT: [2.2] - V2UnitFlg
|
||||
# CHECK-NEXT: [3] - V2UnitL2
|
||||
# CHECK-NEXT: [4.0] - V2UnitL01
|
||||
# CHECK-NEXT: [4.1] - V2UnitL01
|
||||
# CHECK-NEXT: [5] - V2UnitM0
|
||||
# CHECK-NEXT: [6] - V2UnitM1
|
||||
# CHECK-NEXT: [7] - V2UnitS0
|
||||
# CHECK-NEXT: [8] - V2UnitS1
|
||||
# CHECK-NEXT: [9] - V2UnitS2
|
||||
# CHECK-NEXT: [10] - V2UnitS3
|
||||
# CHECK-NEXT: [11] - V2UnitV0
|
||||
# CHECK-NEXT: [12] - V2UnitV1
|
||||
# CHECK-NEXT: [13] - V2UnitV2
|
||||
# CHECK-NEXT: [14] - V2UnitV3
|
||||
|
||||
# CHECK: Resource pressure per iteration:
|
||||
# CHECK-NEXT: [0.0] [0.1] [1.0] [1.1] [2.0] [2.1] [2.2] [3] [4.0] [4.1] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14]
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - 4.50 2.00 4.50 2.00
|
||||
|
||||
# CHECK: Resource pressure by instruction:
|
||||
# CHECK-NEXT: [0.0] [0.1] [1.0] [1.1] [2.0] [2.1] [2.2] [3] [4.0] [4.1] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] Instructions:
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - 0.50 - 0.50 - bfcvt h0, s0
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - 1.00 - 1.00 - bfcvtn v0.4h, v0.4s
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - 1.00 - 1.00 - bfcvtn2 v0.8h, v0.4s
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 bfdot v0.2s, v24.4h, v14.2h[2]
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 bfdot v0.2s, v0.4h, v0.4h
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 bfdot v0.4s, v0.8h, v0.8h
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 bfmlalb v0.4s, v0.8h, v0.8h
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 bfmlalb v0.4s, v0.8h, v0.h[3]
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 bfmlalt v0.4s, v0.8h, v0.8h
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 bfmlalt v0.4s, v0.8h, v0.h[3]
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 bfmmla v0.4s, v0.8h, v0.8h
|
||||
@@ -0,0 +1,49 @@
|
||||
# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
|
||||
# RUN: llvm-mca -mtriple=aarch64 -mcpu=neoverse-v2 -instruction-tables < %p/Inputs/complxnum-instructions.s | FileCheck %s
|
||||
|
||||
# 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 2 0.25 fcadd v0.2s, v0.2s, v0.2s, #90
|
||||
# CHECK-NEXT: 1 2 0.25 fcadd v0.4s, v0.4s, v0.4s, #270
|
||||
# CHECK-NEXT: 1 4 0.25 fcmla v0.2s, v0.2s, v0.2s, #90
|
||||
# CHECK-NEXT: 1 4 0.25 fcmla v0.4s, v0.4s, v0.s[1], #0
|
||||
|
||||
# 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.0] - V2UnitFlg
|
||||
# CHECK-NEXT: [2.1] - V2UnitFlg
|
||||
# CHECK-NEXT: [2.2] - V2UnitFlg
|
||||
# CHECK-NEXT: [3] - V2UnitL2
|
||||
# CHECK-NEXT: [4.0] - V2UnitL01
|
||||
# CHECK-NEXT: [4.1] - V2UnitL01
|
||||
# CHECK-NEXT: [5] - V2UnitM0
|
||||
# CHECK-NEXT: [6] - V2UnitM1
|
||||
# CHECK-NEXT: [7] - V2UnitS0
|
||||
# CHECK-NEXT: [8] - V2UnitS1
|
||||
# CHECK-NEXT: [9] - V2UnitS2
|
||||
# CHECK-NEXT: [10] - V2UnitS3
|
||||
# CHECK-NEXT: [11] - V2UnitV0
|
||||
# CHECK-NEXT: [12] - V2UnitV1
|
||||
# CHECK-NEXT: [13] - V2UnitV2
|
||||
# CHECK-NEXT: [14] - V2UnitV3
|
||||
|
||||
# CHECK: Resource pressure per iteration:
|
||||
# CHECK-NEXT: [0.0] [0.1] [1.0] [1.1] [2.0] [2.1] [2.2] [3] [4.0] [4.1] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14]
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - 1.00 1.00 1.00 1.00
|
||||
|
||||
# CHECK: Resource pressure by instruction:
|
||||
# CHECK-NEXT: [0.0] [0.1] [1.0] [1.1] [2.0] [2.1] [2.2] [3] [4.0] [4.1] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] Instructions:
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fcadd v0.2s, v0.2s, v0.2s, #90
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fcadd v0.4s, v0.4s, v0.4s, #270
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fcmla v0.2s, v0.2s, v0.2s, #90
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fcmla v0.4s, v0.4s, v0.s[1], #0
|
||||
@@ -0,0 +1,73 @@
|
||||
# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
|
||||
# RUN: llvm-mca -mtriple=aarch64 -mcpu=neoverse-v2 -instruction-tables < %p/Inputs/fp16fml-instructions.s | FileCheck %s
|
||||
|
||||
# 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 4 0.25 fmlal v0.2s, v0.2h, v0.h[1]
|
||||
# CHECK-NEXT: 1 4 0.25 fmlal v0.4s, v0.4h, v0.h[3]
|
||||
# CHECK-NEXT: 1 4 0.25 fmlal v0.2s, v0.2h, v0.2h
|
||||
# CHECK-NEXT: 1 4 0.25 fmlal v0.4s, v0.4h, v0.4h
|
||||
# CHECK-NEXT: 1 4 0.25 fmlal2 v0.2s, v0.2h, v0.h[1]
|
||||
# CHECK-NEXT: 1 4 0.25 fmlal2 v0.4s, v0.4h, v0.h[3]
|
||||
# CHECK-NEXT: 1 4 0.25 fmlal2 v0.2s, v0.2h, v0.2h
|
||||
# CHECK-NEXT: 1 4 0.25 fmlal2 v0.4s, v0.4h, v0.4h
|
||||
# CHECK-NEXT: 1 4 0.25 fmlsl v0.2s, v0.2h, v0.h[1]
|
||||
# CHECK-NEXT: 1 4 0.25 fmlsl v0.4s, v0.4h, v0.h[3]
|
||||
# CHECK-NEXT: 1 4 0.25 fmlsl v0.2s, v0.2h, v0.2h
|
||||
# CHECK-NEXT: 1 4 0.25 fmlsl v0.4s, v0.4h, v0.4h
|
||||
# CHECK-NEXT: 1 4 0.25 fmlsl2 v0.2s, v0.2h, v0.h[1]
|
||||
# CHECK-NEXT: 1 4 0.25 fmlsl2 v0.4s, v0.4h, v0.h[3]
|
||||
# CHECK-NEXT: 1 4 0.25 fmlsl2 v0.2s, v0.2h, v0.2h
|
||||
# CHECK-NEXT: 1 4 0.25 fmlsl2 v0.4s, v0.4h, v0.4h
|
||||
|
||||
# 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.0] - V2UnitFlg
|
||||
# CHECK-NEXT: [2.1] - V2UnitFlg
|
||||
# CHECK-NEXT: [2.2] - V2UnitFlg
|
||||
# CHECK-NEXT: [3] - V2UnitL2
|
||||
# CHECK-NEXT: [4.0] - V2UnitL01
|
||||
# CHECK-NEXT: [4.1] - V2UnitL01
|
||||
# CHECK-NEXT: [5] - V2UnitM0
|
||||
# CHECK-NEXT: [6] - V2UnitM1
|
||||
# CHECK-NEXT: [7] - V2UnitS0
|
||||
# CHECK-NEXT: [8] - V2UnitS1
|
||||
# CHECK-NEXT: [9] - V2UnitS2
|
||||
# CHECK-NEXT: [10] - V2UnitS3
|
||||
# CHECK-NEXT: [11] - V2UnitV0
|
||||
# CHECK-NEXT: [12] - V2UnitV1
|
||||
# CHECK-NEXT: [13] - V2UnitV2
|
||||
# CHECK-NEXT: [14] - V2UnitV3
|
||||
|
||||
# CHECK: Resource pressure per iteration:
|
||||
# CHECK-NEXT: [0.0] [0.1] [1.0] [1.1] [2.0] [2.1] [2.2] [3] [4.0] [4.1] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14]
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - 4.00 4.00 4.00 4.00
|
||||
|
||||
# CHECK: Resource pressure by instruction:
|
||||
# CHECK-NEXT: [0.0] [0.1] [1.0] [1.1] [2.0] [2.1] [2.2] [3] [4.0] [4.1] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] Instructions:
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmlal v0.2s, v0.2h, v0.h[1]
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmlal v0.4s, v0.4h, v0.h[3]
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmlal v0.2s, v0.2h, v0.2h
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmlal v0.4s, v0.4h, v0.4h
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmlal2 v0.2s, v0.2h, v0.h[1]
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmlal2 v0.4s, v0.4h, v0.h[3]
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmlal2 v0.2s, v0.2h, v0.2h
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmlal2 v0.4s, v0.4h, v0.4h
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmlsl v0.2s, v0.2h, v0.h[1]
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmlsl v0.4s, v0.4h, v0.h[3]
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmlsl v0.2s, v0.2h, v0.2h
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmlsl v0.4s, v0.4h, v0.4h
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmlsl2 v0.2s, v0.2h, v0.h[1]
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmlsl2 v0.4s, v0.4h, v0.h[3]
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmlsl2 v0.2s, v0.2h, v0.2h
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmlsl2 v0.4s, v0.4h, v0.4h
|
||||
@@ -0,0 +1,65 @@
|
||||
# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
|
||||
# RUN: llvm-mca -mtriple=aarch64 -mcpu=neoverse-v2 -instruction-tables < %p/Inputs/fptoint-instructions.s | FileCheck %s
|
||||
|
||||
# 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 3 0.50 frint32x v0.2d, v0.2d
|
||||
# CHECK-NEXT: 1 3 0.50 frint32x v0.2s, v0.2s
|
||||
# CHECK-NEXT: 2 4 1.00 frint32x v0.4s, v0.4s
|
||||
# CHECK-NEXT: 1 3 0.50 frint32z v0.2d, v0.2d
|
||||
# CHECK-NEXT: 1 3 0.50 frint32z v0.2s, v0.2s
|
||||
# CHECK-NEXT: 2 4 1.00 frint32z v0.4s, v0.4s
|
||||
# CHECK-NEXT: 1 3 0.50 frint64x v0.2d, v0.2d
|
||||
# CHECK-NEXT: 1 3 0.50 frint64x v0.2s, v0.2s
|
||||
# CHECK-NEXT: 2 4 1.00 frint64x v0.4s, v0.4s
|
||||
# CHECK-NEXT: 1 3 0.50 frint64z v0.2d, v0.2d
|
||||
# CHECK-NEXT: 1 3 0.50 frint64z v0.2s, v0.2s
|
||||
# CHECK-NEXT: 2 4 1.00 frint64z v0.4s, v0.4s
|
||||
|
||||
# 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.0] - V2UnitFlg
|
||||
# CHECK-NEXT: [2.1] - V2UnitFlg
|
||||
# CHECK-NEXT: [2.2] - V2UnitFlg
|
||||
# CHECK-NEXT: [3] - V2UnitL2
|
||||
# CHECK-NEXT: [4.0] - V2UnitL01
|
||||
# CHECK-NEXT: [4.1] - V2UnitL01
|
||||
# CHECK-NEXT: [5] - V2UnitM0
|
||||
# CHECK-NEXT: [6] - V2UnitM1
|
||||
# CHECK-NEXT: [7] - V2UnitS0
|
||||
# CHECK-NEXT: [8] - V2UnitS1
|
||||
# CHECK-NEXT: [9] - V2UnitS2
|
||||
# CHECK-NEXT: [10] - V2UnitS3
|
||||
# CHECK-NEXT: [11] - V2UnitV0
|
||||
# CHECK-NEXT: [12] - V2UnitV1
|
||||
# CHECK-NEXT: [13] - V2UnitV2
|
||||
# CHECK-NEXT: [14] - V2UnitV3
|
||||
|
||||
# CHECK: Resource pressure per iteration:
|
||||
# CHECK-NEXT: [0.0] [0.1] [1.0] [1.1] [2.0] [2.1] [2.2] [3] [4.0] [4.1] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14]
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - 8.00 - 8.00 -
|
||||
|
||||
# CHECK: Resource pressure by instruction:
|
||||
# CHECK-NEXT: [0.0] [0.1] [1.0] [1.1] [2.0] [2.1] [2.2] [3] [4.0] [4.1] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] Instructions:
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - 0.50 - 0.50 - frint32x v0.2d, v0.2d
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - 0.50 - 0.50 - frint32x v0.2s, v0.2s
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - 1.00 - 1.00 - frint32x v0.4s, v0.4s
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - 0.50 - 0.50 - frint32z v0.2d, v0.2d
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - 0.50 - 0.50 - frint32z v0.2s, v0.2s
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - 1.00 - 1.00 - frint32z v0.4s, v0.4s
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - 0.50 - 0.50 - frint64x v0.2d, v0.2d
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - 0.50 - 0.50 - frint64x v0.2s, v0.2s
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - 1.00 - 1.00 - frint64x v0.4s, v0.4s
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - 0.50 - 0.50 - frint64z v0.2d, v0.2d
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - 0.50 - 0.50 - frint64z v0.2s, v0.2s
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - 1.00 - 1.00 - frint64z v0.4s, v0.4s
|
||||
@@ -0,0 +1,59 @@
|
||||
# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
|
||||
# RUN: llvm-mca -mtriple=aarch64 -mcpu=neoverse-v2 -instruction-tables < %p/Inputs/i8mm-instructions.s | FileCheck %s
|
||||
|
||||
# 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 3 0.25 smmla v0.4s, v0.16b, v0.16b
|
||||
# CHECK-NEXT: 1 3 0.25 sudot v0.2s, v0.8b, v0.4b[2]
|
||||
# CHECK-NEXT: 1 3 0.25 sudot v0.4s, v0.16b, v0.4b[2]
|
||||
# CHECK-NEXT: 1 3 0.25 ummla v0.4s, v0.16b, v0.16b
|
||||
# CHECK-NEXT: 1 3 0.25 usdot v0.2s, v0.8b, v0.4b[2]
|
||||
# CHECK-NEXT: 1 3 0.25 usdot v0.2s, v0.8b, v0.8b
|
||||
# CHECK-NEXT: 1 3 0.25 usdot v0.4s, v0.16b, v0.16b
|
||||
# CHECK-NEXT: 1 3 0.25 usdot v0.4s, v0.16b, v0.4b[2]
|
||||
# CHECK-NEXT: 1 3 0.25 usmmla v0.4s, v0.16b, v0.16b
|
||||
|
||||
# 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.0] - V2UnitFlg
|
||||
# CHECK-NEXT: [2.1] - V2UnitFlg
|
||||
# CHECK-NEXT: [2.2] - V2UnitFlg
|
||||
# CHECK-NEXT: [3] - V2UnitL2
|
||||
# CHECK-NEXT: [4.0] - V2UnitL01
|
||||
# CHECK-NEXT: [4.1] - V2UnitL01
|
||||
# CHECK-NEXT: [5] - V2UnitM0
|
||||
# CHECK-NEXT: [6] - V2UnitM1
|
||||
# CHECK-NEXT: [7] - V2UnitS0
|
||||
# CHECK-NEXT: [8] - V2UnitS1
|
||||
# CHECK-NEXT: [9] - V2UnitS2
|
||||
# CHECK-NEXT: [10] - V2UnitS3
|
||||
# CHECK-NEXT: [11] - V2UnitV0
|
||||
# CHECK-NEXT: [12] - V2UnitV1
|
||||
# CHECK-NEXT: [13] - V2UnitV2
|
||||
# CHECK-NEXT: [14] - V2UnitV3
|
||||
|
||||
# CHECK: Resource pressure per iteration:
|
||||
# CHECK-NEXT: [0.0] [0.1] [1.0] [1.1] [2.0] [2.1] [2.2] [3] [4.0] [4.1] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14]
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - 2.25 2.25 2.25 2.25
|
||||
|
||||
# CHECK: Resource pressure by instruction:
|
||||
# CHECK-NEXT: [0.0] [0.1] [1.0] [1.1] [2.0] [2.1] [2.2] [3] [4.0] [4.1] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] Instructions:
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 smmla v0.4s, v0.16b, v0.16b
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 sudot v0.2s, v0.8b, v0.4b[2]
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 sudot v0.4s, v0.16b, v0.4b[2]
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 ummla v0.4s, v0.16b, v0.16b
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 usdot v0.2s, v0.8b, v0.4b[2]
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 usdot v0.2s, v0.8b, v0.8b
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 usdot v0.4s, v0.16b, v0.16b
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 usdot v0.4s, v0.16b, v0.4b[2]
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 usmmla v0.4s, v0.16b, v0.16b
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,68 @@
|
||||
# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
|
||||
# RUN: llvm-mca -mtriple=aarch64 -mcpu=neoverse-v3 -instruction-tables < %p/Inputs/bf16-instructions.s | FileCheck %s
|
||||
|
||||
# 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 3 0.50 bfcvt h0, s0
|
||||
# CHECK-NEXT: 2 4 1.00 bfcvtn v0.4h, v0.4s
|
||||
# CHECK-NEXT: 2 4 1.00 bfcvtn2 v0.8h, v0.4s
|
||||
# CHECK-NEXT: 1 2 0.25 bfdot v0.2s, v24.4h, v14.2h[2]
|
||||
# CHECK-NEXT: 1 5 0.25 bfdot v0.2s, v0.4h, v0.4h
|
||||
# CHECK-NEXT: 1 5 0.25 bfdot v0.4s, v0.8h, v0.8h
|
||||
# CHECK-NEXT: 1 5 0.25 bfmlalb v0.4s, v0.8h, v0.8h
|
||||
# CHECK-NEXT: 1 5 0.25 bfmlalb v0.4s, v0.8h, v0.h[3]
|
||||
# CHECK-NEXT: 1 5 0.25 bfmlalt v0.4s, v0.8h, v0.8h
|
||||
# CHECK-NEXT: 1 5 0.25 bfmlalt v0.4s, v0.8h, v0.h[3]
|
||||
# CHECK-NEXT: 1 6 0.25 bfmmla v0.4s, v0.8h, v0.8h
|
||||
|
||||
# CHECK: Resources:
|
||||
# CHECK-NEXT: [0.0] - V3UnitB
|
||||
# CHECK-NEXT: [0.1] - V3UnitB
|
||||
# CHECK-NEXT: [0.2] - V3UnitB
|
||||
# CHECK-NEXT: [1.0] - V3UnitD
|
||||
# CHECK-NEXT: [1.1] - V3UnitD
|
||||
# CHECK-NEXT: [2.0] - V3UnitFlg
|
||||
# CHECK-NEXT: [2.1] - V3UnitFlg
|
||||
# CHECK-NEXT: [2.2] - V3UnitFlg
|
||||
# CHECK-NEXT: [2.3] - V3UnitFlg
|
||||
# CHECK-NEXT: [3.0] - V3UnitL12
|
||||
# CHECK-NEXT: [3.1] - V3UnitL12
|
||||
# CHECK-NEXT: [4] - V3UnitLS0
|
||||
# CHECK-NEXT: [5] - V3UnitM0
|
||||
# CHECK-NEXT: [6] - V3UnitM1
|
||||
# CHECK-NEXT: [7] - V3UnitS0
|
||||
# CHECK-NEXT: [8] - V3UnitS1
|
||||
# CHECK-NEXT: [9] - V3UnitS2
|
||||
# CHECK-NEXT: [10] - V3UnitS3
|
||||
# CHECK-NEXT: [11] - V3UnitS4
|
||||
# CHECK-NEXT: [12] - V3UnitS5
|
||||
# CHECK-NEXT: [13] - V3UnitST1
|
||||
# CHECK-NEXT: [14] - V3UnitV0
|
||||
# CHECK-NEXT: [15] - V3UnitV1
|
||||
# CHECK-NEXT: [16] - V3UnitV2
|
||||
# CHECK-NEXT: [17] - V3UnitV3
|
||||
|
||||
# CHECK: Resource pressure per iteration:
|
||||
# CHECK-NEXT: [0.0] [0.1] [0.2] [1.0] [1.1] [2.0] [2.1] [2.2] [2.3] [3.0] [3.1] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17]
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 4.50 2.00 4.50 2.00
|
||||
|
||||
# CHECK: Resource pressure by instruction:
|
||||
# CHECK-NEXT: [0.0] [0.1] [0.2] [1.0] [1.1] [2.0] [2.1] [2.2] [2.3] [3.0] [3.1] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] Instructions:
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 - 0.50 - bfcvt h0, s0
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - 1.00 - bfcvtn v0.4h, v0.4s
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - 1.00 - bfcvtn2 v0.8h, v0.4s
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 bfdot v0.2s, v24.4h, v14.2h[2]
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 bfdot v0.2s, v0.4h, v0.4h
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 bfdot v0.4s, v0.8h, v0.8h
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 bfmlalb v0.4s, v0.8h, v0.8h
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 bfmlalb v0.4s, v0.8h, v0.h[3]
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 bfmlalt v0.4s, v0.8h, v0.8h
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 bfmlalt v0.4s, v0.8h, v0.h[3]
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 bfmmla v0.4s, v0.8h, v0.8h
|
||||
@@ -0,0 +1,54 @@
|
||||
# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
|
||||
# RUN: llvm-mca -mtriple=aarch64 -mcpu=neoverse-v3 -instruction-tables < %p/Inputs/complxnum-instructions.s | FileCheck %s
|
||||
|
||||
# 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 2 0.25 fcadd v0.2s, v0.2s, v0.2s, #90
|
||||
# CHECK-NEXT: 1 2 0.25 fcadd v0.4s, v0.4s, v0.4s, #270
|
||||
# CHECK-NEXT: 1 4 0.25 fcmla v0.2s, v0.2s, v0.2s, #90
|
||||
# CHECK-NEXT: 1 4 0.25 fcmla v0.4s, v0.4s, v0.s[1], #0
|
||||
|
||||
# CHECK: Resources:
|
||||
# CHECK-NEXT: [0.0] - V3UnitB
|
||||
# CHECK-NEXT: [0.1] - V3UnitB
|
||||
# CHECK-NEXT: [0.2] - V3UnitB
|
||||
# CHECK-NEXT: [1.0] - V3UnitD
|
||||
# CHECK-NEXT: [1.1] - V3UnitD
|
||||
# CHECK-NEXT: [2.0] - V3UnitFlg
|
||||
# CHECK-NEXT: [2.1] - V3UnitFlg
|
||||
# CHECK-NEXT: [2.2] - V3UnitFlg
|
||||
# CHECK-NEXT: [2.3] - V3UnitFlg
|
||||
# CHECK-NEXT: [3.0] - V3UnitL12
|
||||
# CHECK-NEXT: [3.1] - V3UnitL12
|
||||
# CHECK-NEXT: [4] - V3UnitLS0
|
||||
# CHECK-NEXT: [5] - V3UnitM0
|
||||
# CHECK-NEXT: [6] - V3UnitM1
|
||||
# CHECK-NEXT: [7] - V3UnitS0
|
||||
# CHECK-NEXT: [8] - V3UnitS1
|
||||
# CHECK-NEXT: [9] - V3UnitS2
|
||||
# CHECK-NEXT: [10] - V3UnitS3
|
||||
# CHECK-NEXT: [11] - V3UnitS4
|
||||
# CHECK-NEXT: [12] - V3UnitS5
|
||||
# CHECK-NEXT: [13] - V3UnitST1
|
||||
# CHECK-NEXT: [14] - V3UnitV0
|
||||
# CHECK-NEXT: [15] - V3UnitV1
|
||||
# CHECK-NEXT: [16] - V3UnitV2
|
||||
# CHECK-NEXT: [17] - V3UnitV3
|
||||
|
||||
# CHECK: Resource pressure per iteration:
|
||||
# CHECK-NEXT: [0.0] [0.1] [0.2] [1.0] [1.1] [2.0] [2.1] [2.2] [2.3] [3.0] [3.1] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17]
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 1.00 1.00 1.00
|
||||
|
||||
# CHECK: Resource pressure by instruction:
|
||||
# CHECK-NEXT: [0.0] [0.1] [0.2] [1.0] [1.1] [2.0] [2.1] [2.2] [2.3] [3.0] [3.1] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] Instructions:
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fcadd v0.2s, v0.2s, v0.2s, #90
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fcadd v0.4s, v0.4s, v0.4s, #270
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fcmla v0.2s, v0.2s, v0.2s, #90
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fcmla v0.4s, v0.4s, v0.s[1], #0
|
||||
@@ -0,0 +1,78 @@
|
||||
# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
|
||||
# RUN: llvm-mca -mtriple=aarch64 -mcpu=neoverse-v3 -instruction-tables < %p/Inputs/fp16fml-instructions.s | FileCheck %s
|
||||
|
||||
# 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 4 0.25 fmlal v0.2s, v0.2h, v0.h[1]
|
||||
# CHECK-NEXT: 1 4 0.25 fmlal v0.4s, v0.4h, v0.h[3]
|
||||
# CHECK-NEXT: 1 4 0.25 fmlal v0.2s, v0.2h, v0.2h
|
||||
# CHECK-NEXT: 1 4 0.25 fmlal v0.4s, v0.4h, v0.4h
|
||||
# CHECK-NEXT: 1 4 0.25 fmlal2 v0.2s, v0.2h, v0.h[1]
|
||||
# CHECK-NEXT: 1 4 0.25 fmlal2 v0.4s, v0.4h, v0.h[3]
|
||||
# CHECK-NEXT: 1 4 0.25 fmlal2 v0.2s, v0.2h, v0.2h
|
||||
# CHECK-NEXT: 1 4 0.25 fmlal2 v0.4s, v0.4h, v0.4h
|
||||
# CHECK-NEXT: 1 4 0.25 fmlsl v0.2s, v0.2h, v0.h[1]
|
||||
# CHECK-NEXT: 1 4 0.25 fmlsl v0.4s, v0.4h, v0.h[3]
|
||||
# CHECK-NEXT: 1 4 0.25 fmlsl v0.2s, v0.2h, v0.2h
|
||||
# CHECK-NEXT: 1 4 0.25 fmlsl v0.4s, v0.4h, v0.4h
|
||||
# CHECK-NEXT: 1 4 0.25 fmlsl2 v0.2s, v0.2h, v0.h[1]
|
||||
# CHECK-NEXT: 1 4 0.25 fmlsl2 v0.4s, v0.4h, v0.h[3]
|
||||
# CHECK-NEXT: 1 4 0.25 fmlsl2 v0.2s, v0.2h, v0.2h
|
||||
# CHECK-NEXT: 1 4 0.25 fmlsl2 v0.4s, v0.4h, v0.4h
|
||||
|
||||
# CHECK: Resources:
|
||||
# CHECK-NEXT: [0.0] - V3UnitB
|
||||
# CHECK-NEXT: [0.1] - V3UnitB
|
||||
# CHECK-NEXT: [0.2] - V3UnitB
|
||||
# CHECK-NEXT: [1.0] - V3UnitD
|
||||
# CHECK-NEXT: [1.1] - V3UnitD
|
||||
# CHECK-NEXT: [2.0] - V3UnitFlg
|
||||
# CHECK-NEXT: [2.1] - V3UnitFlg
|
||||
# CHECK-NEXT: [2.2] - V3UnitFlg
|
||||
# CHECK-NEXT: [2.3] - V3UnitFlg
|
||||
# CHECK-NEXT: [3.0] - V3UnitL12
|
||||
# CHECK-NEXT: [3.1] - V3UnitL12
|
||||
# CHECK-NEXT: [4] - V3UnitLS0
|
||||
# CHECK-NEXT: [5] - V3UnitM0
|
||||
# CHECK-NEXT: [6] - V3UnitM1
|
||||
# CHECK-NEXT: [7] - V3UnitS0
|
||||
# CHECK-NEXT: [8] - V3UnitS1
|
||||
# CHECK-NEXT: [9] - V3UnitS2
|
||||
# CHECK-NEXT: [10] - V3UnitS3
|
||||
# CHECK-NEXT: [11] - V3UnitS4
|
||||
# CHECK-NEXT: [12] - V3UnitS5
|
||||
# CHECK-NEXT: [13] - V3UnitST1
|
||||
# CHECK-NEXT: [14] - V3UnitV0
|
||||
# CHECK-NEXT: [15] - V3UnitV1
|
||||
# CHECK-NEXT: [16] - V3UnitV2
|
||||
# CHECK-NEXT: [17] - V3UnitV3
|
||||
|
||||
# CHECK: Resource pressure per iteration:
|
||||
# CHECK-NEXT: [0.0] [0.1] [0.2] [1.0] [1.1] [2.0] [2.1] [2.2] [2.3] [3.0] [3.1] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17]
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 4.00 4.00 4.00 4.00
|
||||
|
||||
# CHECK: Resource pressure by instruction:
|
||||
# CHECK-NEXT: [0.0] [0.1] [0.2] [1.0] [1.1] [2.0] [2.1] [2.2] [2.3] [3.0] [3.1] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] Instructions:
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmlal v0.2s, v0.2h, v0.h[1]
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmlal v0.4s, v0.4h, v0.h[3]
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmlal v0.2s, v0.2h, v0.2h
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmlal v0.4s, v0.4h, v0.4h
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmlal2 v0.2s, v0.2h, v0.h[1]
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmlal2 v0.4s, v0.4h, v0.h[3]
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmlal2 v0.2s, v0.2h, v0.2h
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmlal2 v0.4s, v0.4h, v0.4h
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmlsl v0.2s, v0.2h, v0.h[1]
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmlsl v0.4s, v0.4h, v0.h[3]
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmlsl v0.2s, v0.2h, v0.2h
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmlsl v0.4s, v0.4h, v0.4h
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmlsl2 v0.2s, v0.2h, v0.h[1]
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmlsl2 v0.4s, v0.4h, v0.h[3]
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmlsl2 v0.2s, v0.2h, v0.2h
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmlsl2 v0.4s, v0.4h, v0.4h
|
||||
@@ -0,0 +1,70 @@
|
||||
# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
|
||||
# RUN: llvm-mca -mtriple=aarch64 -mcpu=neoverse-v3 -instruction-tables < %p/Inputs/fptoint-instructions.s | FileCheck %s
|
||||
|
||||
# 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 3 0.50 frint32x v0.2d, v0.2d
|
||||
# CHECK-NEXT: 1 3 0.50 frint32x v0.2s, v0.2s
|
||||
# CHECK-NEXT: 2 4 1.00 frint32x v0.4s, v0.4s
|
||||
# CHECK-NEXT: 1 3 0.50 frint32z v0.2d, v0.2d
|
||||
# CHECK-NEXT: 1 3 0.50 frint32z v0.2s, v0.2s
|
||||
# CHECK-NEXT: 2 4 1.00 frint32z v0.4s, v0.4s
|
||||
# CHECK-NEXT: 1 3 0.50 frint64x v0.2d, v0.2d
|
||||
# CHECK-NEXT: 1 3 0.50 frint64x v0.2s, v0.2s
|
||||
# CHECK-NEXT: 2 4 1.00 frint64x v0.4s, v0.4s
|
||||
# CHECK-NEXT: 1 3 0.50 frint64z v0.2d, v0.2d
|
||||
# CHECK-NEXT: 1 3 0.50 frint64z v0.2s, v0.2s
|
||||
# CHECK-NEXT: 2 4 1.00 frint64z v0.4s, v0.4s
|
||||
|
||||
# CHECK: Resources:
|
||||
# CHECK-NEXT: [0.0] - V3UnitB
|
||||
# CHECK-NEXT: [0.1] - V3UnitB
|
||||
# CHECK-NEXT: [0.2] - V3UnitB
|
||||
# CHECK-NEXT: [1.0] - V3UnitD
|
||||
# CHECK-NEXT: [1.1] - V3UnitD
|
||||
# CHECK-NEXT: [2.0] - V3UnitFlg
|
||||
# CHECK-NEXT: [2.1] - V3UnitFlg
|
||||
# CHECK-NEXT: [2.2] - V3UnitFlg
|
||||
# CHECK-NEXT: [2.3] - V3UnitFlg
|
||||
# CHECK-NEXT: [3.0] - V3UnitL12
|
||||
# CHECK-NEXT: [3.1] - V3UnitL12
|
||||
# CHECK-NEXT: [4] - V3UnitLS0
|
||||
# CHECK-NEXT: [5] - V3UnitM0
|
||||
# CHECK-NEXT: [6] - V3UnitM1
|
||||
# CHECK-NEXT: [7] - V3UnitS0
|
||||
# CHECK-NEXT: [8] - V3UnitS1
|
||||
# CHECK-NEXT: [9] - V3UnitS2
|
||||
# CHECK-NEXT: [10] - V3UnitS3
|
||||
# CHECK-NEXT: [11] - V3UnitS4
|
||||
# CHECK-NEXT: [12] - V3UnitS5
|
||||
# CHECK-NEXT: [13] - V3UnitST1
|
||||
# CHECK-NEXT: [14] - V3UnitV0
|
||||
# CHECK-NEXT: [15] - V3UnitV1
|
||||
# CHECK-NEXT: [16] - V3UnitV2
|
||||
# CHECK-NEXT: [17] - V3UnitV3
|
||||
|
||||
# CHECK: Resource pressure per iteration:
|
||||
# CHECK-NEXT: [0.0] [0.1] [0.2] [1.0] [1.1] [2.0] [2.1] [2.2] [2.3] [3.0] [3.1] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17]
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 8.00 - 8.00 -
|
||||
|
||||
# CHECK: Resource pressure by instruction:
|
||||
# CHECK-NEXT: [0.0] [0.1] [0.2] [1.0] [1.1] [2.0] [2.1] [2.2] [2.3] [3.0] [3.1] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] Instructions:
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 - 0.50 - frint32x v0.2d, v0.2d
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 - 0.50 - frint32x v0.2s, v0.2s
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - 1.00 - frint32x v0.4s, v0.4s
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 - 0.50 - frint32z v0.2d, v0.2d
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 - 0.50 - frint32z v0.2s, v0.2s
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - 1.00 - frint32z v0.4s, v0.4s
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 - 0.50 - frint64x v0.2d, v0.2d
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 - 0.50 - frint64x v0.2s, v0.2s
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - 1.00 - frint64x v0.4s, v0.4s
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 - 0.50 - frint64z v0.2d, v0.2d
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 - 0.50 - frint64z v0.2s, v0.2s
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - 1.00 - frint64z v0.4s, v0.4s
|
||||
@@ -0,0 +1,64 @@
|
||||
# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
|
||||
# RUN: llvm-mca -mtriple=aarch64 -mcpu=neoverse-v3 -instruction-tables < %p/Inputs/i8mm-instructions.s | FileCheck %s
|
||||
|
||||
# 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 3 0.25 smmla v0.4s, v0.16b, v0.16b
|
||||
# CHECK-NEXT: 1 3 0.25 sudot v0.2s, v0.8b, v0.4b[2]
|
||||
# CHECK-NEXT: 1 3 0.25 sudot v0.4s, v0.16b, v0.4b[2]
|
||||
# CHECK-NEXT: 1 3 0.25 ummla v0.4s, v0.16b, v0.16b
|
||||
# CHECK-NEXT: 1 3 0.25 usdot v0.2s, v0.8b, v0.4b[2]
|
||||
# CHECK-NEXT: 1 3 0.25 usdot v0.2s, v0.8b, v0.8b
|
||||
# CHECK-NEXT: 1 3 0.25 usdot v0.4s, v0.16b, v0.16b
|
||||
# CHECK-NEXT: 1 3 0.25 usdot v0.4s, v0.16b, v0.4b[2]
|
||||
# CHECK-NEXT: 1 3 0.25 usmmla v0.4s, v0.16b, v0.16b
|
||||
|
||||
# CHECK: Resources:
|
||||
# CHECK-NEXT: [0.0] - V3UnitB
|
||||
# CHECK-NEXT: [0.1] - V3UnitB
|
||||
# CHECK-NEXT: [0.2] - V3UnitB
|
||||
# CHECK-NEXT: [1.0] - V3UnitD
|
||||
# CHECK-NEXT: [1.1] - V3UnitD
|
||||
# CHECK-NEXT: [2.0] - V3UnitFlg
|
||||
# CHECK-NEXT: [2.1] - V3UnitFlg
|
||||
# CHECK-NEXT: [2.2] - V3UnitFlg
|
||||
# CHECK-NEXT: [2.3] - V3UnitFlg
|
||||
# CHECK-NEXT: [3.0] - V3UnitL12
|
||||
# CHECK-NEXT: [3.1] - V3UnitL12
|
||||
# CHECK-NEXT: [4] - V3UnitLS0
|
||||
# CHECK-NEXT: [5] - V3UnitM0
|
||||
# CHECK-NEXT: [6] - V3UnitM1
|
||||
# CHECK-NEXT: [7] - V3UnitS0
|
||||
# CHECK-NEXT: [8] - V3UnitS1
|
||||
# CHECK-NEXT: [9] - V3UnitS2
|
||||
# CHECK-NEXT: [10] - V3UnitS3
|
||||
# CHECK-NEXT: [11] - V3UnitS4
|
||||
# CHECK-NEXT: [12] - V3UnitS5
|
||||
# CHECK-NEXT: [13] - V3UnitST1
|
||||
# CHECK-NEXT: [14] - V3UnitV0
|
||||
# CHECK-NEXT: [15] - V3UnitV1
|
||||
# CHECK-NEXT: [16] - V3UnitV2
|
||||
# CHECK-NEXT: [17] - V3UnitV3
|
||||
|
||||
# CHECK: Resource pressure per iteration:
|
||||
# CHECK-NEXT: [0.0] [0.1] [0.2] [1.0] [1.1] [2.0] [2.1] [2.2] [2.3] [3.0] [3.1] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17]
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 2.25 2.25 2.25 2.25
|
||||
|
||||
# CHECK: Resource pressure by instruction:
|
||||
# CHECK-NEXT: [0.0] [0.1] [0.2] [1.0] [1.1] [2.0] [2.1] [2.2] [2.3] [3.0] [3.1] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] Instructions:
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 smmla v0.4s, v0.16b, v0.16b
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 sudot v0.2s, v0.8b, v0.4b[2]
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 sudot v0.4s, v0.16b, v0.4b[2]
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 ummla v0.4s, v0.16b, v0.16b
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 usdot v0.2s, v0.8b, v0.4b[2]
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 usdot v0.2s, v0.8b, v0.8b
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 usdot v0.4s, v0.16b, v0.16b
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 usdot v0.4s, v0.16b, v0.4b[2]
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 usmmla v0.4s, v0.16b, v0.16b
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,66 @@
|
||||
# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
|
||||
# RUN: llvm-mca -mtriple=aarch64 -mcpu=neoverse-v3ae -instruction-tables < %p/Inputs/bf16-instructions.s | FileCheck %s
|
||||
|
||||
# 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 3 1.00 bfcvt h0, s0
|
||||
# CHECK-NEXT: 2 4 2.00 bfcvtn v0.4h, v0.4s
|
||||
# CHECK-NEXT: 2 4 2.00 bfcvtn2 v0.8h, v0.4s
|
||||
# CHECK-NEXT: 1 2 0.50 bfdot v0.2s, v24.4h, v14.2h[2]
|
||||
# CHECK-NEXT: 1 5 0.50 bfdot v0.2s, v0.4h, v0.4h
|
||||
# CHECK-NEXT: 1 5 0.50 bfdot v0.4s, v0.8h, v0.8h
|
||||
# CHECK-NEXT: 1 5 0.50 bfmlalb v0.4s, v0.8h, v0.8h
|
||||
# CHECK-NEXT: 1 5 0.50 bfmlalb v0.4s, v0.8h, v0.h[3]
|
||||
# CHECK-NEXT: 1 5 0.50 bfmlalt v0.4s, v0.8h, v0.8h
|
||||
# CHECK-NEXT: 1 5 0.50 bfmlalt v0.4s, v0.8h, v0.h[3]
|
||||
# CHECK-NEXT: 1 6 0.50 bfmmla v0.4s, v0.8h, v0.8h
|
||||
|
||||
# CHECK: Resources:
|
||||
# CHECK-NEXT: [0.0] - V3AEUnitB
|
||||
# CHECK-NEXT: [0.1] - V3AEUnitB
|
||||
# CHECK-NEXT: [0.2] - V3AEUnitB
|
||||
# CHECK-NEXT: [1.0] - V3AEUnitD
|
||||
# CHECK-NEXT: [1.1] - V3AEUnitD
|
||||
# CHECK-NEXT: [2.0] - V3AEUnitFlg
|
||||
# CHECK-NEXT: [2.1] - V3AEUnitFlg
|
||||
# CHECK-NEXT: [2.2] - V3AEUnitFlg
|
||||
# CHECK-NEXT: [2.3] - V3AEUnitFlg
|
||||
# CHECK-NEXT: [3.0] - V3AEUnitL12
|
||||
# CHECK-NEXT: [3.1] - V3AEUnitL12
|
||||
# CHECK-NEXT: [4] - V3AEUnitLS0
|
||||
# CHECK-NEXT: [5] - V3AEUnitM0
|
||||
# CHECK-NEXT: [6] - V3AEUnitM1
|
||||
# CHECK-NEXT: [7] - V3AEUnitS0
|
||||
# CHECK-NEXT: [8] - V3AEUnitS1
|
||||
# CHECK-NEXT: [9] - V3AEUnitS2
|
||||
# CHECK-NEXT: [10] - V3AEUnitS3
|
||||
# CHECK-NEXT: [11] - V3AEUnitS4
|
||||
# CHECK-NEXT: [12] - V3AEUnitS5
|
||||
# CHECK-NEXT: [13] - V3AEUnitST1
|
||||
# CHECK-NEXT: [14] - V3AEUnitV0
|
||||
# CHECK-NEXT: [15] - V3AEUnitV1
|
||||
|
||||
# CHECK: Resource pressure per iteration:
|
||||
# CHECK-NEXT: [0.0] [0.1] [0.2] [1.0] [1.1] [2.0] [2.1] [2.2] [2.3] [3.0] [3.1] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15]
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 9.00 4.00
|
||||
|
||||
# CHECK: Resource pressure by instruction:
|
||||
# CHECK-NEXT: [0.0] [0.1] [0.2] [1.0] [1.1] [2.0] [2.1] [2.2] [2.3] [3.0] [3.1] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] Instructions:
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - bfcvt h0, s0
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 2.00 - bfcvtn v0.4h, v0.4s
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 2.00 - bfcvtn2 v0.8h, v0.4s
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 bfdot v0.2s, v24.4h, v14.2h[2]
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 bfdot v0.2s, v0.4h, v0.4h
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 bfdot v0.4s, v0.8h, v0.8h
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 bfmlalb v0.4s, v0.8h, v0.8h
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 bfmlalb v0.4s, v0.8h, v0.h[3]
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 bfmlalt v0.4s, v0.8h, v0.8h
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 bfmlalt v0.4s, v0.8h, v0.h[3]
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 bfmmla v0.4s, v0.8h, v0.8h
|
||||
@@ -0,0 +1,52 @@
|
||||
# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
|
||||
# RUN: llvm-mca -mtriple=aarch64 -mcpu=neoverse-v3ae -instruction-tables < %p/Inputs/complxnum-instructions.s | FileCheck %s
|
||||
|
||||
# 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 2 0.50 fcadd v0.2s, v0.2s, v0.2s, #90
|
||||
# CHECK-NEXT: 1 2 0.50 fcadd v0.4s, v0.4s, v0.4s, #270
|
||||
# CHECK-NEXT: 1 4 0.50 fcmla v0.2s, v0.2s, v0.2s, #90
|
||||
# CHECK-NEXT: 1 4 0.50 fcmla v0.4s, v0.4s, v0.s[1], #0
|
||||
|
||||
# CHECK: Resources:
|
||||
# CHECK-NEXT: [0.0] - V3AEUnitB
|
||||
# CHECK-NEXT: [0.1] - V3AEUnitB
|
||||
# CHECK-NEXT: [0.2] - V3AEUnitB
|
||||
# CHECK-NEXT: [1.0] - V3AEUnitD
|
||||
# CHECK-NEXT: [1.1] - V3AEUnitD
|
||||
# CHECK-NEXT: [2.0] - V3AEUnitFlg
|
||||
# CHECK-NEXT: [2.1] - V3AEUnitFlg
|
||||
# CHECK-NEXT: [2.2] - V3AEUnitFlg
|
||||
# CHECK-NEXT: [2.3] - V3AEUnitFlg
|
||||
# CHECK-NEXT: [3.0] - V3AEUnitL12
|
||||
# CHECK-NEXT: [3.1] - V3AEUnitL12
|
||||
# CHECK-NEXT: [4] - V3AEUnitLS0
|
||||
# CHECK-NEXT: [5] - V3AEUnitM0
|
||||
# CHECK-NEXT: [6] - V3AEUnitM1
|
||||
# CHECK-NEXT: [7] - V3AEUnitS0
|
||||
# CHECK-NEXT: [8] - V3AEUnitS1
|
||||
# CHECK-NEXT: [9] - V3AEUnitS2
|
||||
# CHECK-NEXT: [10] - V3AEUnitS3
|
||||
# CHECK-NEXT: [11] - V3AEUnitS4
|
||||
# CHECK-NEXT: [12] - V3AEUnitS5
|
||||
# CHECK-NEXT: [13] - V3AEUnitST1
|
||||
# CHECK-NEXT: [14] - V3AEUnitV0
|
||||
# CHECK-NEXT: [15] - V3AEUnitV1
|
||||
|
||||
# CHECK: Resource pressure per iteration:
|
||||
# CHECK-NEXT: [0.0] [0.1] [0.2] [1.0] [1.1] [2.0] [2.1] [2.2] [2.3] [3.0] [3.1] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15]
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 2.00 2.00
|
||||
|
||||
# CHECK: Resource pressure by instruction:
|
||||
# CHECK-NEXT: [0.0] [0.1] [0.2] [1.0] [1.1] [2.0] [2.1] [2.2] [2.3] [3.0] [3.1] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] Instructions:
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fcadd v0.2s, v0.2s, v0.2s, #90
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fcadd v0.4s, v0.4s, v0.4s, #270
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fcmla v0.2s, v0.2s, v0.2s, #90
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fcmla v0.4s, v0.4s, v0.s[1], #0
|
||||
@@ -0,0 +1,76 @@
|
||||
# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
|
||||
# RUN: llvm-mca -mtriple=aarch64 -mcpu=neoverse-v3ae -instruction-tables < %p/Inputs/fp16fml-instructions.s | FileCheck %s
|
||||
|
||||
# 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 4 0.50 fmlal v0.2s, v0.2h, v0.h[1]
|
||||
# CHECK-NEXT: 1 4 0.50 fmlal v0.4s, v0.4h, v0.h[3]
|
||||
# CHECK-NEXT: 1 4 0.50 fmlal v0.2s, v0.2h, v0.2h
|
||||
# CHECK-NEXT: 1 4 0.50 fmlal v0.4s, v0.4h, v0.4h
|
||||
# CHECK-NEXT: 1 4 0.50 fmlal2 v0.2s, v0.2h, v0.h[1]
|
||||
# CHECK-NEXT: 1 4 0.50 fmlal2 v0.4s, v0.4h, v0.h[3]
|
||||
# CHECK-NEXT: 1 4 0.50 fmlal2 v0.2s, v0.2h, v0.2h
|
||||
# CHECK-NEXT: 1 4 0.50 fmlal2 v0.4s, v0.4h, v0.4h
|
||||
# CHECK-NEXT: 1 4 0.50 fmlsl v0.2s, v0.2h, v0.h[1]
|
||||
# CHECK-NEXT: 1 4 0.50 fmlsl v0.4s, v0.4h, v0.h[3]
|
||||
# CHECK-NEXT: 1 4 0.50 fmlsl v0.2s, v0.2h, v0.2h
|
||||
# CHECK-NEXT: 1 4 0.50 fmlsl v0.4s, v0.4h, v0.4h
|
||||
# CHECK-NEXT: 1 4 0.50 fmlsl2 v0.2s, v0.2h, v0.h[1]
|
||||
# CHECK-NEXT: 1 4 0.50 fmlsl2 v0.4s, v0.4h, v0.h[3]
|
||||
# CHECK-NEXT: 1 4 0.50 fmlsl2 v0.2s, v0.2h, v0.2h
|
||||
# CHECK-NEXT: 1 4 0.50 fmlsl2 v0.4s, v0.4h, v0.4h
|
||||
|
||||
# CHECK: Resources:
|
||||
# CHECK-NEXT: [0.0] - V3AEUnitB
|
||||
# CHECK-NEXT: [0.1] - V3AEUnitB
|
||||
# CHECK-NEXT: [0.2] - V3AEUnitB
|
||||
# CHECK-NEXT: [1.0] - V3AEUnitD
|
||||
# CHECK-NEXT: [1.1] - V3AEUnitD
|
||||
# CHECK-NEXT: [2.0] - V3AEUnitFlg
|
||||
# CHECK-NEXT: [2.1] - V3AEUnitFlg
|
||||
# CHECK-NEXT: [2.2] - V3AEUnitFlg
|
||||
# CHECK-NEXT: [2.3] - V3AEUnitFlg
|
||||
# CHECK-NEXT: [3.0] - V3AEUnitL12
|
||||
# CHECK-NEXT: [3.1] - V3AEUnitL12
|
||||
# CHECK-NEXT: [4] - V3AEUnitLS0
|
||||
# CHECK-NEXT: [5] - V3AEUnitM0
|
||||
# CHECK-NEXT: [6] - V3AEUnitM1
|
||||
# CHECK-NEXT: [7] - V3AEUnitS0
|
||||
# CHECK-NEXT: [8] - V3AEUnitS1
|
||||
# CHECK-NEXT: [9] - V3AEUnitS2
|
||||
# CHECK-NEXT: [10] - V3AEUnitS3
|
||||
# CHECK-NEXT: [11] - V3AEUnitS4
|
||||
# CHECK-NEXT: [12] - V3AEUnitS5
|
||||
# CHECK-NEXT: [13] - V3AEUnitST1
|
||||
# CHECK-NEXT: [14] - V3AEUnitV0
|
||||
# CHECK-NEXT: [15] - V3AEUnitV1
|
||||
|
||||
# CHECK: Resource pressure per iteration:
|
||||
# CHECK-NEXT: [0.0] [0.1] [0.2] [1.0] [1.1] [2.0] [2.1] [2.2] [2.3] [3.0] [3.1] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15]
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 8.00 8.00
|
||||
|
||||
# CHECK: Resource pressure by instruction:
|
||||
# CHECK-NEXT: [0.0] [0.1] [0.2] [1.0] [1.1] [2.0] [2.1] [2.2] [2.3] [3.0] [3.1] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] Instructions:
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fmlal v0.2s, v0.2h, v0.h[1]
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fmlal v0.4s, v0.4h, v0.h[3]
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fmlal v0.2s, v0.2h, v0.2h
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fmlal v0.4s, v0.4h, v0.4h
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fmlal2 v0.2s, v0.2h, v0.h[1]
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fmlal2 v0.4s, v0.4h, v0.h[3]
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fmlal2 v0.2s, v0.2h, v0.2h
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fmlal2 v0.4s, v0.4h, v0.4h
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fmlsl v0.2s, v0.2h, v0.h[1]
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fmlsl v0.4s, v0.4h, v0.h[3]
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fmlsl v0.2s, v0.2h, v0.2h
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fmlsl v0.4s, v0.4h, v0.4h
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fmlsl2 v0.2s, v0.2h, v0.h[1]
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fmlsl2 v0.4s, v0.4h, v0.h[3]
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fmlsl2 v0.2s, v0.2h, v0.2h
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fmlsl2 v0.4s, v0.4h, v0.4h
|
||||
@@ -0,0 +1,68 @@
|
||||
# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
|
||||
# RUN: llvm-mca -mtriple=aarch64 -mcpu=neoverse-v3ae -instruction-tables < %p/Inputs/fptoint-instructions.s | FileCheck %s
|
||||
|
||||
# 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 3 1.00 frint32x v0.2d, v0.2d
|
||||
# CHECK-NEXT: 1 3 1.00 frint32x v0.2s, v0.2s
|
||||
# CHECK-NEXT: 2 4 2.00 frint32x v0.4s, v0.4s
|
||||
# CHECK-NEXT: 1 3 1.00 frint32z v0.2d, v0.2d
|
||||
# CHECK-NEXT: 1 3 1.00 frint32z v0.2s, v0.2s
|
||||
# CHECK-NEXT: 2 4 2.00 frint32z v0.4s, v0.4s
|
||||
# CHECK-NEXT: 1 3 1.00 frint64x v0.2d, v0.2d
|
||||
# CHECK-NEXT: 1 3 1.00 frint64x v0.2s, v0.2s
|
||||
# CHECK-NEXT: 2 4 2.00 frint64x v0.4s, v0.4s
|
||||
# CHECK-NEXT: 1 3 1.00 frint64z v0.2d, v0.2d
|
||||
# CHECK-NEXT: 1 3 1.00 frint64z v0.2s, v0.2s
|
||||
# CHECK-NEXT: 2 4 2.00 frint64z v0.4s, v0.4s
|
||||
|
||||
# CHECK: Resources:
|
||||
# CHECK-NEXT: [0.0] - V3AEUnitB
|
||||
# CHECK-NEXT: [0.1] - V3AEUnitB
|
||||
# CHECK-NEXT: [0.2] - V3AEUnitB
|
||||
# CHECK-NEXT: [1.0] - V3AEUnitD
|
||||
# CHECK-NEXT: [1.1] - V3AEUnitD
|
||||
# CHECK-NEXT: [2.0] - V3AEUnitFlg
|
||||
# CHECK-NEXT: [2.1] - V3AEUnitFlg
|
||||
# CHECK-NEXT: [2.2] - V3AEUnitFlg
|
||||
# CHECK-NEXT: [2.3] - V3AEUnitFlg
|
||||
# CHECK-NEXT: [3.0] - V3AEUnitL12
|
||||
# CHECK-NEXT: [3.1] - V3AEUnitL12
|
||||
# CHECK-NEXT: [4] - V3AEUnitLS0
|
||||
# CHECK-NEXT: [5] - V3AEUnitM0
|
||||
# CHECK-NEXT: [6] - V3AEUnitM1
|
||||
# CHECK-NEXT: [7] - V3AEUnitS0
|
||||
# CHECK-NEXT: [8] - V3AEUnitS1
|
||||
# CHECK-NEXT: [9] - V3AEUnitS2
|
||||
# CHECK-NEXT: [10] - V3AEUnitS3
|
||||
# CHECK-NEXT: [11] - V3AEUnitS4
|
||||
# CHECK-NEXT: [12] - V3AEUnitS5
|
||||
# CHECK-NEXT: [13] - V3AEUnitST1
|
||||
# CHECK-NEXT: [14] - V3AEUnitV0
|
||||
# CHECK-NEXT: [15] - V3AEUnitV1
|
||||
|
||||
# CHECK: Resource pressure per iteration:
|
||||
# CHECK-NEXT: [0.0] [0.1] [0.2] [1.0] [1.1] [2.0] [2.1] [2.2] [2.3] [3.0] [3.1] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15]
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 16.00 -
|
||||
|
||||
# CHECK: Resource pressure by instruction:
|
||||
# CHECK-NEXT: [0.0] [0.1] [0.2] [1.0] [1.1] [2.0] [2.1] [2.2] [2.3] [3.0] [3.1] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] Instructions:
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - frint32x v0.2d, v0.2d
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - frint32x v0.2s, v0.2s
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 2.00 - frint32x v0.4s, v0.4s
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - frint32z v0.2d, v0.2d
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - frint32z v0.2s, v0.2s
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 2.00 - frint32z v0.4s, v0.4s
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - frint64x v0.2d, v0.2d
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - frint64x v0.2s, v0.2s
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 2.00 - frint64x v0.4s, v0.4s
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - frint64z v0.2d, v0.2d
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - frint64z v0.2s, v0.2s
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 2.00 - frint64z v0.4s, v0.4s
|
||||
@@ -0,0 +1,62 @@
|
||||
# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
|
||||
# RUN: llvm-mca -mtriple=aarch64 -mcpu=neoverse-v3ae -instruction-tables < %p/Inputs/i8mm-instructions.s | FileCheck %s
|
||||
|
||||
# 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 3 0.50 smmla v0.4s, v0.16b, v0.16b
|
||||
# CHECK-NEXT: 1 3 0.50 sudot v0.2s, v0.8b, v0.4b[2]
|
||||
# CHECK-NEXT: 1 3 0.50 sudot v0.4s, v0.16b, v0.4b[2]
|
||||
# CHECK-NEXT: 1 3 0.50 ummla v0.4s, v0.16b, v0.16b
|
||||
# CHECK-NEXT: 1 3 0.50 usdot v0.2s, v0.8b, v0.4b[2]
|
||||
# CHECK-NEXT: 1 3 0.50 usdot v0.2s, v0.8b, v0.8b
|
||||
# CHECK-NEXT: 1 3 0.50 usdot v0.4s, v0.16b, v0.16b
|
||||
# CHECK-NEXT: 1 3 0.50 usdot v0.4s, v0.16b, v0.4b[2]
|
||||
# CHECK-NEXT: 1 3 0.50 usmmla v0.4s, v0.16b, v0.16b
|
||||
|
||||
# CHECK: Resources:
|
||||
# CHECK-NEXT: [0.0] - V3AEUnitB
|
||||
# CHECK-NEXT: [0.1] - V3AEUnitB
|
||||
# CHECK-NEXT: [0.2] - V3AEUnitB
|
||||
# CHECK-NEXT: [1.0] - V3AEUnitD
|
||||
# CHECK-NEXT: [1.1] - V3AEUnitD
|
||||
# CHECK-NEXT: [2.0] - V3AEUnitFlg
|
||||
# CHECK-NEXT: [2.1] - V3AEUnitFlg
|
||||
# CHECK-NEXT: [2.2] - V3AEUnitFlg
|
||||
# CHECK-NEXT: [2.3] - V3AEUnitFlg
|
||||
# CHECK-NEXT: [3.0] - V3AEUnitL12
|
||||
# CHECK-NEXT: [3.1] - V3AEUnitL12
|
||||
# CHECK-NEXT: [4] - V3AEUnitLS0
|
||||
# CHECK-NEXT: [5] - V3AEUnitM0
|
||||
# CHECK-NEXT: [6] - V3AEUnitM1
|
||||
# CHECK-NEXT: [7] - V3AEUnitS0
|
||||
# CHECK-NEXT: [8] - V3AEUnitS1
|
||||
# CHECK-NEXT: [9] - V3AEUnitS2
|
||||
# CHECK-NEXT: [10] - V3AEUnitS3
|
||||
# CHECK-NEXT: [11] - V3AEUnitS4
|
||||
# CHECK-NEXT: [12] - V3AEUnitS5
|
||||
# CHECK-NEXT: [13] - V3AEUnitST1
|
||||
# CHECK-NEXT: [14] - V3AEUnitV0
|
||||
# CHECK-NEXT: [15] - V3AEUnitV1
|
||||
|
||||
# CHECK: Resource pressure per iteration:
|
||||
# CHECK-NEXT: [0.0] [0.1] [0.2] [1.0] [1.1] [2.0] [2.1] [2.2] [2.3] [3.0] [3.1] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15]
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 4.50 4.50
|
||||
|
||||
# CHECK: Resource pressure by instruction:
|
||||
# CHECK-NEXT: [0.0] [0.1] [0.2] [1.0] [1.1] [2.0] [2.1] [2.2] [2.3] [3.0] [3.1] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] Instructions:
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 smmla v0.4s, v0.16b, v0.16b
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 sudot v0.2s, v0.8b, v0.4b[2]
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 sudot v0.4s, v0.16b, v0.4b[2]
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 ummla v0.4s, v0.16b, v0.16b
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 usdot v0.2s, v0.8b, v0.4b[2]
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 usdot v0.2s, v0.8b, v0.8b
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 usdot v0.4s, v0.16b, v0.16b
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 usdot v0.4s, v0.16b, v0.4b[2]
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 usmmla v0.4s, v0.16b, v0.16b
|
||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user