107 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py2# RUN: llvm-mca -mtriple=mips64el -mcpu=i6400 --mattr=msa -iterations=1 < %s | FileCheck %s3 .abicalls4 .text5 .globl i64006 .p2align 37 .type i6400,@function8 .ent i64009i6400:10 .set noat11 lw $1, 0($sp)12 lw $2, 8($sp)13 move $3, $114 mul $3, $2, $315 sw $3, 8($sp)16 div $2, $117 sw $2, 0($sp)18 add $4, $2, $319 clo $5, $420 sw $4, 8($sp)21 sw $5, 24($sp)22 ld.d $w1, 0($2)23 ld.d $w2, 0($3)24 add_a.d $w0, $w1, $w225 fmsub.d $w3, $w1, $w226 st.d $w0, 16($sp)27 st.d $w3, 32($sp)28 .end i640029 30# CHECK: Iterations: 131# CHECK-NEXT: Instructions: 1732# CHECK-NEXT: Total Cycles: 5933# CHECK-NEXT: Total uOps: 1734 35# CHECK: Dispatch Width: 236# CHECK-NEXT: uOps Per Cycle: 0.2937# CHECK-NEXT: IPC: 0.2938# CHECK-NEXT: Block RThroughput: 8.539 40# CHECK: Instruction Info:41# CHECK-NEXT: [1]: #uOps42# CHECK-NEXT: [2]: Latency43# CHECK-NEXT: [3]: RThroughput44# CHECK-NEXT: [4]: MayLoad45# CHECK-NEXT: [5]: MayStore46# CHECK-NEXT: [6]: HasSideEffects (U)47 48# CHECK: [1] [2] [3] [4] [5] [6] Instructions:49# CHECK-NEXT: 1 3 1.00 * lw $1, 0($sp)50# CHECK-NEXT: 1 3 1.00 * lw $2, 8($sp)51# CHECK-NEXT: 1 1 0.50 move $3, $152# CHECK-NEXT: 1 4 1.00 mul $3, $2, $353# CHECK-NEXT: 1 1 1.00 * sw $3, 8($sp)54# CHECK-NEXT: 1 32 1.00 div $2, $155# CHECK-NEXT: 1 1 1.00 * sw $2, 0($sp)56# CHECK-NEXT: 1 1 0.50 U add $4, $2, $357# CHECK-NEXT: 1 1 0.50 clo $5, $458# CHECK-NEXT: 1 1 1.00 * sw $4, 8($sp)59# CHECK-NEXT: 1 1 1.00 * sw $5, 24($sp)60# CHECK-NEXT: 1 3 2.00 * ld.d $w1, 0($2)61# CHECK-NEXT: 1 3 2.00 * ld.d $w2, 0($3)62# CHECK-NEXT: 1 2 2.00 add_a.d $w0, $w1, $w263# CHECK-NEXT: 1 8 2.00 fmsub.d $w3, $w1, $w264# CHECK-NEXT: 1 3 1.00 * st.d $w0, 16($sp)65# CHECK-NEXT: 1 3 1.00 * st.d $w3, 32($sp)66 67# CHECK: Resources:68# CHECK-NEXT: [0] - I6400AGEN69# CHECK-NEXT: [1] - I6400Atomic70# CHECK-NEXT: [2] - I6400CTRL71# CHECK-NEXT: [3.0] - I6400FPU72# CHECK-NEXT: [3.1] - I6400FPU73# CHECK-NEXT: [3.2] - I6400FPU74# CHECK-NEXT: [4] - I6400FPUApu75# CHECK-NEXT: [5] - I6400FPUFloatL76# CHECK-NEXT: [6] - I6400FPULong77# CHECK-NEXT: [7] - I6400FPUShort78# CHECK-NEXT: [8] - I6400IssueALU079# CHECK-NEXT: [9] - I6400IssueALU180# CHECK-NEXT: [10] - I6400IssueCTU81# CHECK-NEXT: [11] - I6400IssueLSU82# CHECK-NEXT: [12] - I6400MDU83 84# CHECK: Resource pressure per iteration:85# CHECK-NEXT: [0] [1] [2] [3.0] [3.1] [3.2] [4] [5] [6] [7] [8] [9] [10] [11] [12]86# CHECK-NEXT: 8.00 - - 2.00 2.00 4.00 - - 2.00 6.00 1.00 2.00 - 8.00 2.0087 88# CHECK: Resource pressure by instruction:89# CHECK-NEXT: [0] [1] [2] [3.0] [3.1] [3.2] [4] [5] [6] [7] [8] [9] [10] [11] [12] Instructions:90# CHECK-NEXT: 1.00 - - - - - - - - - - - - 1.00 - lw $1, 0($sp)91# CHECK-NEXT: 1.00 - - - - - - - - - - - - 1.00 - lw $2, 8($sp)92# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - move $3, $193# CHECK-NEXT: - - - - - - - - - - - - - - 1.00 mul $3, $2, $394# CHECK-NEXT: 1.00 - - - - - - - - - - - - 1.00 - sw $3, 8($sp)95# CHECK-NEXT: - - - - - - - - - - - - - - 1.00 div $2, $196# CHECK-NEXT: 1.00 - - - - - - - - - - - - 1.00 - sw $2, 0($sp)97# CHECK-NEXT: - - - - - - - - - - 1.00 - - - - add $4, $2, $398# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - clo $5, $499# CHECK-NEXT: 1.00 - - - - - - - - - - - - 1.00 - sw $4, 8($sp)100# CHECK-NEXT: 1.00 - - - - - - - - - - - - 1.00 - sw $5, 24($sp)101# CHECK-NEXT: - - - - - 2.00 - - - 2.00 - - - - - ld.d $w1, 0($2)102# CHECK-NEXT: - - - - 2.00 - - - - 2.00 - - - - - ld.d $w2, 0($3)103# CHECK-NEXT: - - - 2.00 - - - - - 2.00 - - - - - add_a.d $w0, $w1, $w2104# CHECK-NEXT: - - - - - 2.00 - - 2.00 - - - - - - fmsub.d $w3, $w1, $w2105# CHECK-NEXT: 1.00 - - - - - - - - - - - - 1.00 - st.d $w0, 16($sp)106# CHECK-NEXT: 1.00 - - - - - - - - - - - - 1.00 - st.d $w3, 32($sp)107