# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py # RUN: llvm-mca -mtriple=riscv64 -mcpu=sifive-p870-d -iterations=1 -instruction-tables=full %p/../Inputs/integer.s | FileCheck %s # CHECK: Resources: # CHECK-NEXT: [0] - SiFiveP800Branch:2 SiFiveP800IEXQ4, SiFiveP800IEXQ5 # CHECK-NEXT: [1] - SiFiveP800Div:1 # CHECK-NEXT: [2] - SiFiveP800FEXQ0:1 # CHECK-NEXT: [3] - SiFiveP800FEXQ1:1 # CHECK-NEXT: [4] - SiFiveP800FloatArith:2 SiFiveP800FEXQ0, SiFiveP800FEXQ1 # CHECK-NEXT: [5] - SiFiveP800FloatDiv:1 # CHECK-NEXT: [6] - SiFiveP800IEXQ0:1 # CHECK-NEXT: [7] - SiFiveP800IEXQ1:1 # CHECK-NEXT: [8] - SiFiveP800IEXQ2:1 # CHECK-NEXT: [9] - SiFiveP800IEXQ3:1 # CHECK-NEXT: [10] - SiFiveP800IEXQ4:1 # CHECK-NEXT: [11] - SiFiveP800IEXQ5:1 # CHECK-NEXT: [12] - SiFiveP800IntArith:4 SiFiveP800IEXQ0, SiFiveP800IEXQ1, SiFiveP800IEXQ2, SiFiveP800IEXQ3 # CHECK-NEXT: [13] - SiFiveP800LD:1 # CHECK-NEXT: [14] - SiFiveP800LDST:2 # CHECK-NEXT: [15] - SiFiveP800Load:3 SiFiveP800LDST, SiFiveP800LDST, SiFiveP800LD # CHECK-NEXT: [16] - SiFiveP800Mul:2 SiFiveP800IEXQ1, SiFiveP800IEXQ3 # CHECK-NEXT: [17] - SiFiveP800VDiv:1 # CHECK-NEXT: [18] - SiFiveP800VEXQ0:1 # CHECK-NEXT: [19] - SiFiveP800VEXQ1:1 # CHECK-NEXT: [20] - SiFiveP800VFloatDiv:1 # CHECK-NEXT: [21] - SiFiveP800VLD:1 # CHECK-NEXT: [22] - SiFiveP800VST:1 # CHECK-NEXT: [23] - SiFiveP800VectorArith:2 SiFiveP800VEXQ0, SiFiveP800VEXQ1 # 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-NEXT: [7]: Bypass Latency # CHECK-NEXT: [8]: Resources ( | [] | [,