195 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py2# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -iterations=500 < %s | FileCheck %s3 4# LLVM-MCA-BEGIN5pinsrb $0, %eax, %xmm06pinsrb $1, %eax, %xmm07# LLVM-MCA-END8 9# LLVM-MCA-BEGIN10pinsrw $0, %eax, %xmm011pinsrw $1, %eax, %xmm012# LLVM-MCA-END13 14# LLVM-MCA-BEGIN15pinsrd $0, %eax, %xmm016pinsrd $1, %eax, %xmm017# LLVM-MCA-END18 19# LLVM-MCA-BEGIN20pinsrq $0, %rax, %xmm021pinsrq $1, %rax, %xmm022# LLVM-MCA-END23 24# CHECK: [0] Code Region25 26# CHECK: Iterations: 50027# CHECK-NEXT: Instructions: 100028# CHECK-NEXT: Total Cycles: 200329# CHECK-NEXT: Total uOps: 200030 31# CHECK: Dispatch Width: 432# CHECK-NEXT: uOps Per Cycle: 1.0033# CHECK-NEXT: IPC: 0.5034# CHECK-NEXT: Block RThroughput: 2.035 36# CHECK: Instruction Info:37# CHECK-NEXT: [1]: #uOps38# CHECK-NEXT: [2]: Latency39# CHECK-NEXT: [3]: RThroughput40# CHECK-NEXT: [4]: MayLoad41# CHECK-NEXT: [5]: MayStore42# CHECK-NEXT: [6]: HasSideEffects (U)43 44# CHECK: [1] [2] [3] [4] [5] [6] Instructions:45# CHECK-NEXT: 2 2 1.00 pinsrb $0, %eax, %xmm046# CHECK-NEXT: 2 2 1.00 pinsrb $1, %eax, %xmm047 48# CHECK: Resources:49# CHECK-NEXT: [0] - SBDivider50# CHECK-NEXT: [1] - SBFPDivider51# CHECK-NEXT: [2] - SBPort052# CHECK-NEXT: [3] - SBPort153# CHECK-NEXT: [4] - SBPort454# CHECK-NEXT: [5] - SBPort555# CHECK-NEXT: [6.0] - SBPort2356# CHECK-NEXT: [6.1] - SBPort2357 58# CHECK: Resource pressure per iteration:59# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1]60# CHECK-NEXT: - - - 2.00 - 2.00 - -61 62# CHECK: Resource pressure by instruction:63# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1] Instructions:64# CHECK-NEXT: - - - 1.00 - 1.00 - - pinsrb $0, %eax, %xmm065# CHECK-NEXT: - - - 1.00 - 1.00 - - pinsrb $1, %eax, %xmm066 67# CHECK: [1] Code Region68 69# CHECK: Iterations: 50070# CHECK-NEXT: Instructions: 100071# CHECK-NEXT: Total Cycles: 200372# CHECK-NEXT: Total uOps: 200073 74# CHECK: Dispatch Width: 475# CHECK-NEXT: uOps Per Cycle: 1.0076# CHECK-NEXT: IPC: 0.5077# CHECK-NEXT: Block RThroughput: 2.078 79# CHECK: Instruction Info:80# CHECK-NEXT: [1]: #uOps81# CHECK-NEXT: [2]: Latency82# CHECK-NEXT: [3]: RThroughput83# CHECK-NEXT: [4]: MayLoad84# CHECK-NEXT: [5]: MayStore85# CHECK-NEXT: [6]: HasSideEffects (U)86 87# CHECK: [1] [2] [3] [4] [5] [6] Instructions:88# CHECK-NEXT: 2 2 1.00 pinsrw $0, %eax, %xmm089# CHECK-NEXT: 2 2 1.00 pinsrw $1, %eax, %xmm090 91# CHECK: Resources:92# CHECK-NEXT: [0] - SBDivider93# CHECK-NEXT: [1] - SBFPDivider94# CHECK-NEXT: [2] - SBPort095# CHECK-NEXT: [3] - SBPort196# CHECK-NEXT: [4] - SBPort497# CHECK-NEXT: [5] - SBPort598# CHECK-NEXT: [6.0] - SBPort2399# CHECK-NEXT: [6.1] - SBPort23100 101# CHECK: Resource pressure per iteration:102# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1]103# CHECK-NEXT: - - - 2.00 - 2.00 - -104 105# CHECK: Resource pressure by instruction:106# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1] Instructions:107# CHECK-NEXT: - - - 1.00 - 1.00 - - pinsrw $0, %eax, %xmm0108# CHECK-NEXT: - - - 1.00 - 1.00 - - pinsrw $1, %eax, %xmm0109 110# CHECK: [2] Code Region111 112# CHECK: Iterations: 500113# CHECK-NEXT: Instructions: 1000114# CHECK-NEXT: Total Cycles: 2003115# CHECK-NEXT: Total uOps: 2000116 117# CHECK: Dispatch Width: 4118# CHECK-NEXT: uOps Per Cycle: 1.00119# CHECK-NEXT: IPC: 0.50120# CHECK-NEXT: Block RThroughput: 2.0121 122# CHECK: Instruction Info:123# CHECK-NEXT: [1]: #uOps124# CHECK-NEXT: [2]: Latency125# CHECK-NEXT: [3]: RThroughput126# CHECK-NEXT: [4]: MayLoad127# CHECK-NEXT: [5]: MayStore128# CHECK-NEXT: [6]: HasSideEffects (U)129 130# CHECK: [1] [2] [3] [4] [5] [6] Instructions:131# CHECK-NEXT: 2 2 1.00 pinsrd $0, %eax, %xmm0132# CHECK-NEXT: 2 2 1.00 pinsrd $1, %eax, %xmm0133 134# CHECK: Resources:135# CHECK-NEXT: [0] - SBDivider136# CHECK-NEXT: [1] - SBFPDivider137# CHECK-NEXT: [2] - SBPort0138# CHECK-NEXT: [3] - SBPort1139# CHECK-NEXT: [4] - SBPort4140# CHECK-NEXT: [5] - SBPort5141# CHECK-NEXT: [6.0] - SBPort23142# CHECK-NEXT: [6.1] - SBPort23143 144# CHECK: Resource pressure per iteration:145# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1]146# CHECK-NEXT: - - - 2.00 - 2.00 - -147 148# CHECK: Resource pressure by instruction:149# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1] Instructions:150# CHECK-NEXT: - - - 1.00 - 1.00 - - pinsrd $0, %eax, %xmm0151# CHECK-NEXT: - - - 1.00 - 1.00 - - pinsrd $1, %eax, %xmm0152 153# CHECK: [3] Code Region154 155# CHECK: Iterations: 500156# CHECK-NEXT: Instructions: 1000157# CHECK-NEXT: Total Cycles: 2003158# CHECK-NEXT: Total uOps: 2000159 160# CHECK: Dispatch Width: 4161# CHECK-NEXT: uOps Per Cycle: 1.00162# CHECK-NEXT: IPC: 0.50163# CHECK-NEXT: Block RThroughput: 2.0164 165# CHECK: Instruction Info:166# CHECK-NEXT: [1]: #uOps167# CHECK-NEXT: [2]: Latency168# CHECK-NEXT: [3]: RThroughput169# CHECK-NEXT: [4]: MayLoad170# CHECK-NEXT: [5]: MayStore171# CHECK-NEXT: [6]: HasSideEffects (U)172 173# CHECK: [1] [2] [3] [4] [5] [6] Instructions:174# CHECK-NEXT: 2 2 1.00 pinsrq $0, %rax, %xmm0175# CHECK-NEXT: 2 2 1.00 pinsrq $1, %rax, %xmm0176 177# CHECK: Resources:178# CHECK-NEXT: [0] - SBDivider179# CHECK-NEXT: [1] - SBFPDivider180# CHECK-NEXT: [2] - SBPort0181# CHECK-NEXT: [3] - SBPort1182# CHECK-NEXT: [4] - SBPort4183# CHECK-NEXT: [5] - SBPort5184# CHECK-NEXT: [6.0] - SBPort23185# CHECK-NEXT: [6.1] - SBPort23186 187# CHECK: Resource pressure per iteration:188# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1]189# CHECK-NEXT: - - - 2.00 - 2.00 - -190 191# CHECK: Resource pressure by instruction:192# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1] Instructions:193# CHECK-NEXT: - - - 1.00 - 1.00 - - pinsrq $0, %rax, %xmm0194# CHECK-NEXT: - - - 1.00 - 1.00 - - pinsrq $1, %rax, %xmm0195