# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py # RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=haswell --json --timeline-max-iterations=1 --bottleneck-analysis --resource-pressure=false --instruction-info=false < %s | FileCheck %s vaddps %xmm0, %xmm0, %xmm1 vblendvps %xmm1, (%rdi), %xmm2, %xmm3 # CHECK: { # CHECK-NEXT: "CodeRegions": [ # CHECK-NEXT: { # CHECK-NEXT: "BottleneckAnalysis": { # CHECK-NEXT: "DataDependencyCycles": 0, # CHECK-NEXT: "DependencyEdge": [ # CHECK-NEXT: { # CHECK-NEXT: "FromID": 1, # CHECK-NEXT: "ResourceOrRegID": 128, # CHECK-NEXT: "ToID": 3, # CHECK-NEXT: "Type": 3 # CHECK-NEXT: }, # CHECK-NEXT: { # CHECK-NEXT: "FromID": 3, # CHECK-NEXT: "ResourceOrRegID": 128, # CHECK-NEXT: "ToID": 5, # CHECK-NEXT: "Type": 3 # CHECK-NEXT: } # CHECK-NEXT: ], # CHECK-NEXT: "MemoryDependencyCycles": 0, # CHECK-NEXT: "PressureIncreaseCycles": 56, # CHECK-NEXT: "RegisterDependencyCycles": 0, # CHECK-NEXT: "ResourcePressure": [ # CHECK-NEXT: { # CHECK-NEXT: "HWPort5": 56 # CHECK-NEXT: } # CHECK-NEXT: ], # CHECK-NEXT: "ResourcePressureCycles": 56, # CHECK-NEXT: "TotalCycles": 209 # CHECK-NEXT: }, # CHECK-NEXT: "Instructions": [ # CHECK-NEXT: "vaddps\t%xmm0, %xmm0, %xmm1", # CHECK-NEXT: "vblendvps\t%xmm1, (%rdi), %xmm2, %xmm3" # CHECK-NEXT: ], # CHECK-NEXT: "Name": "", # CHECK-NEXT: "SummaryView": { # CHECK-NEXT: "BlockRThroughput": 2, # CHECK-NEXT: "DispatchWidth": 4, # CHECK-NEXT: "IPC": 0.9569377990430622, # CHECK-NEXT: "Instructions": 200, # CHECK-NEXT: "Iterations": 100, # CHECK-NEXT: "TotalCycles": 209, # CHECK-NEXT: "TotaluOps": 400, # CHECK-NEXT: "uOpsPerCycle": 1.9138755980861244 # CHECK-NEXT: } # CHECK-NEXT: } # CHECK-NEXT: ], # CHECK-NEXT: "SimulationParameters": { # CHECK-NEXT: "-march": "x86_64", # CHECK-NEXT: "-mcpu": "haswell", # CHECK-NEXT: "-mtriple": "x86_64-unknown-unknown" # CHECK-NEXT: }, # CHECK-NEXT: "TargetInfo": { # CHECK-NEXT: "CPUName": "haswell", # CHECK-NEXT: "Resources": [ # CHECK-NEXT: "HWDivider", # CHECK-NEXT: "HWFPDivider", # CHECK-NEXT: "HWPort0", # CHECK-NEXT: "HWPort1", # CHECK-NEXT: "HWPort2", # CHECK-NEXT: "HWPort3", # CHECK-NEXT: "HWPort4", # CHECK-NEXT: "HWPort5", # CHECK-NEXT: "HWPort6", # CHECK-NEXT: "HWPort7" # CHECK-NEXT: ] # CHECK-NEXT: } # CHECK-NEXT: }