1a5192187SRoman Lebedev# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py 2a5baf867SRoman Lebedev# RUN: llvm-mca -mtriple=i686-unknown-unknown -mcpu=bdver2 -instruction-tables < %s | FileCheck %s 3a5192187SRoman Lebedev 4a5192187SRoman Lebedevaaa 5a5192187SRoman Lebedev 6a5192187SRoman Lebedevaad 7a5192187SRoman Lebedevaad $7 8a5192187SRoman Lebedev 9a5192187SRoman Lebedevaam 10a5192187SRoman Lebedevaam $7 11a5192187SRoman Lebedev 12a5192187SRoman Lebedevaas 13a5192187SRoman Lebedev 14a5192187SRoman Lebedevbound %bx, (%eax) 15a5192187SRoman Lebedevbound %ebx, (%eax) 16a5192187SRoman Lebedev 17a5192187SRoman Lebedevdaa 18a5192187SRoman Lebedev 19a5192187SRoman Lebedevdas 20a5192187SRoman Lebedev 21a5192187SRoman Lebedevinto 22a5192187SRoman Lebedev 23a5192187SRoman Lebedevleave 24a5192187SRoman Lebedev 25a5192187SRoman Lebedevsalc 26a5192187SRoman Lebedev 27a5192187SRoman Lebedev# CHECK: Instruction Info: 28a5192187SRoman Lebedev# CHECK-NEXT: [1]: #uOps 29a5192187SRoman Lebedev# CHECK-NEXT: [2]: Latency 30a5192187SRoman Lebedev# CHECK-NEXT: [3]: RThroughput 31a5192187SRoman Lebedev# CHECK-NEXT: [4]: MayLoad 32a5192187SRoman Lebedev# CHECK-NEXT: [5]: MayStore 33a5192187SRoman Lebedev# CHECK-NEXT: [6]: HasSideEffects (U) 34a5192187SRoman Lebedev 35a5192187SRoman Lebedev# CHECK: [1] [2] [3] [4] [5] [6] Instructions: 36a5baf867SRoman Lebedev# CHECK-NEXT: 1 100 0.50 aaa 37a5baf867SRoman Lebedev# CHECK-NEXT: 1 100 0.50 aad 38a5baf867SRoman Lebedev# CHECK-NEXT: 1 100 0.50 aad $7 39a5baf867SRoman Lebedev# CHECK-NEXT: 1 100 0.50 aam 40a5baf867SRoman Lebedev# CHECK-NEXT: 1 100 0.50 aam $7 41a5baf867SRoman Lebedev# CHECK-NEXT: 1 100 0.50 aas 42a5baf867SRoman Lebedev# CHECK-NEXT: 1 100 0.50 U bound %bx, (%eax) 43a5baf867SRoman Lebedev# CHECK-NEXT: 1 100 0.50 U bound %ebx, (%eax) 44a5baf867SRoman Lebedev# CHECK-NEXT: 1 100 0.50 daa 45a5baf867SRoman Lebedev# CHECK-NEXT: 1 100 0.50 das 46a5baf867SRoman Lebedev# CHECK-NEXT: 1 100 0.50 U into 47*9db0e725SRoman Lebedev# CHECK-NEXT: 1 1 1.00 * leave 48*9db0e725SRoman Lebedev# CHECK-NEXT: 1 1 1.00 U salc 49a5192187SRoman Lebedev 50a5192187SRoman Lebedev# CHECK: Resources: 51a5baf867SRoman Lebedev# CHECK-NEXT: [0.0] - PdAGLU01 52a5baf867SRoman Lebedev# CHECK-NEXT: [0.1] - PdAGLU01 53a5baf867SRoman Lebedev# CHECK-NEXT: [1] - PdBranch 54a5baf867SRoman Lebedev# CHECK-NEXT: [2] - PdCount 55a5baf867SRoman Lebedev# CHECK-NEXT: [3] - PdDiv 56a5baf867SRoman Lebedev# CHECK-NEXT: [4] - PdEX0 57a5baf867SRoman Lebedev# CHECK-NEXT: [5] - PdEX1 58a5baf867SRoman Lebedev# CHECK-NEXT: [6] - PdFPCVT 59a5baf867SRoman Lebedev# CHECK-NEXT: [7.0] - PdFPFMA 60a5baf867SRoman Lebedev# CHECK-NEXT: [7.1] - PdFPFMA 61a5baf867SRoman Lebedev# CHECK-NEXT: [8.0] - PdFPMAL 62a5baf867SRoman Lebedev# CHECK-NEXT: [8.1] - PdFPMAL 63a5baf867SRoman Lebedev# CHECK-NEXT: [9] - PdFPMMA 64a5baf867SRoman Lebedev# CHECK-NEXT: [10] - PdFPSTO 65a5baf867SRoman Lebedev# CHECK-NEXT: [11] - PdFPU0 66a5baf867SRoman Lebedev# CHECK-NEXT: [12] - PdFPU1 67a5baf867SRoman Lebedev# CHECK-NEXT: [13] - PdFPU2 68a5baf867SRoman Lebedev# CHECK-NEXT: [14] - PdFPU3 69a5baf867SRoman Lebedev# CHECK-NEXT: [15] - PdFPXBR 70b428b8b2SRoman Lebedev# CHECK-NEXT: [16.0] - PdLoad 71b428b8b2SRoman Lebedev# CHECK-NEXT: [16.1] - PdLoad 72b428b8b2SRoman Lebedev# CHECK-NEXT: [17] - PdMul 73b428b8b2SRoman Lebedev# CHECK-NEXT: [18] - PdStore 74a5192187SRoman Lebedev 75a5192187SRoman Lebedev# CHECK: Resource pressure per iteration: 76b428b8b2SRoman Lebedev# CHECK-NEXT: [0.0] [0.1] [1] [2] [3] [4] [5] [6] [7.0] [7.1] [8.0] [8.1] [9] [10] [11] [12] [13] [14] [15] [16.0] [16.1] [17] [18] 77*9db0e725SRoman Lebedev# CHECK-NEXT: - - - - - 7.50 7.50 - - - - - - - - - - - - - - - - 78a5192187SRoman Lebedev 79a5192187SRoman Lebedev# CHECK: Resource pressure by instruction: 80b428b8b2SRoman Lebedev# CHECK-NEXT: [0.0] [0.1] [1] [2] [3] [4] [5] [6] [7.0] [7.1] [8.0] [8.1] [9] [10] [11] [12] [13] [14] [15] [16.0] [16.1] [17] [18] Instructions: 81b428b8b2SRoman Lebedev# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - aaa 82b428b8b2SRoman Lebedev# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - aad 83b428b8b2SRoman Lebedev# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - aad $7 84b428b8b2SRoman Lebedev# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - aam 85b428b8b2SRoman Lebedev# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - aam $7 86b428b8b2SRoman Lebedev# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - aas 87b428b8b2SRoman Lebedev# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - bound %bx, (%eax) 88b428b8b2SRoman Lebedev# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - bound %ebx, (%eax) 89b428b8b2SRoman Lebedev# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - daa 90b428b8b2SRoman Lebedev# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - das 91b428b8b2SRoman Lebedev# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - into 92*9db0e725SRoman Lebedev# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - leave 93*9db0e725SRoman Lebedev# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - salc 94