brintos

brintos / llvm-project-archived public Read only

0
0
Text · 10.7 KiB · bc0bd0a Raw
287 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py2# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=haswell --json -instruction-tables < %s | FileCheck %s3# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=haswell --json -instruction-tables -o %t.json < %s4# RUN: cat %t.json \5# RUN:  | %python -c 'import json, sys; json.dump(json.loads(sys.stdin.read()), sys.stdout, sort_keys=True, indent=2)' \6# RUN:  | FileCheck %s7 8# LLVM-MCA-BEGIN foo9add %eax, %eax10# LLVM-MCA-BEGIN bar11add %ebx, %ebx12add %ecx, %ecx13# LLVM-MCA-END bar14add %edx, %edx15# LLVM-MCA-END foo16 17# CHECK:      {18# CHECK-NEXT:   "CodeRegions": [19# CHECK-NEXT:     {20# CHECK-NEXT:       "InstructionInfoView": {21# CHECK-NEXT:         "InstructionList": [22# CHECK-NEXT:           {23# CHECK-NEXT:             "Instruction": 0,24# CHECK-NEXT:             "Latency": 1,25# CHECK-NEXT:             "NumMicroOpcodes": 1,26# CHECK-NEXT:             "RThroughput": 0.25,27# CHECK-NEXT:             "hasUnmodeledSideEffects": false,28# CHECK-NEXT:             "mayLoad": false,29# CHECK-NEXT:             "mayStore": false30# CHECK-NEXT:           },31# CHECK-NEXT:           {32# CHECK-NEXT:             "Instruction": 1,33# CHECK-NEXT:             "Latency": 1,34# CHECK-NEXT:             "NumMicroOpcodes": 1,35# CHECK-NEXT:             "RThroughput": 0.25,36# CHECK-NEXT:             "hasUnmodeledSideEffects": false,37# CHECK-NEXT:             "mayLoad": false,38# CHECK-NEXT:             "mayStore": false39# CHECK-NEXT:           },40# CHECK-NEXT:           {41# CHECK-NEXT:             "Instruction": 2,42# CHECK-NEXT:             "Latency": 1,43# CHECK-NEXT:             "NumMicroOpcodes": 1,44# CHECK-NEXT:             "RThroughput": 0.25,45# CHECK-NEXT:             "hasUnmodeledSideEffects": false,46# CHECK-NEXT:             "mayLoad": false,47# CHECK-NEXT:             "mayStore": false48# CHECK-NEXT:           },49# CHECK-NEXT:           {50# CHECK-NEXT:             "Instruction": 3,51# CHECK-NEXT:             "Latency": 1,52# CHECK-NEXT:             "NumMicroOpcodes": 1,53# CHECK-NEXT:             "RThroughput": 0.25,54# CHECK-NEXT:             "hasUnmodeledSideEffects": false,55# CHECK-NEXT:             "mayLoad": false,56# CHECK-NEXT:             "mayStore": false57# CHECK-NEXT:           }58# CHECK-NEXT:         ]59# CHECK-NEXT:       },60# CHECK-NEXT:       "Instructions": [61# CHECK-NEXT:         "addl\t%eax, %eax",62# CHECK-NEXT:         "addl\t%ebx, %ebx",63# CHECK-NEXT:         "addl\t%ecx, %ecx",64# CHECK-NEXT:         "addl\t%edx, %edx"65# CHECK-NEXT:       ],66# CHECK-NEXT:       "Name": "foo",67# CHECK-NEXT:       "ResourcePressureView": {68# CHECK-NEXT:         "ResourcePressureInfo": [69# CHECK-NEXT:           {70# CHECK-NEXT:             "InstructionIndex": 0,71# CHECK-NEXT:             "ResourceIndex": 2,72# CHECK-NEXT:             "ResourceUsage": 0.2573# CHECK-NEXT:           },74# CHECK-NEXT:           {75# CHECK-NEXT:             "InstructionIndex": 0,76# CHECK-NEXT:             "ResourceIndex": 3,77# CHECK-NEXT:             "ResourceUsage": 0.2578# CHECK-NEXT:           },79# CHECK-NEXT:           {80# CHECK-NEXT:             "InstructionIndex": 0,81# CHECK-NEXT:             "ResourceIndex": 7,82# CHECK-NEXT:             "ResourceUsage": 0.2583# CHECK-NEXT:           },84# CHECK-NEXT:           {85# CHECK-NEXT:             "InstructionIndex": 0,86# CHECK-NEXT:             "ResourceIndex": 8,87# CHECK-NEXT:             "ResourceUsage": 0.2588# CHECK-NEXT:           },89# CHECK-NEXT:           {90# CHECK-NEXT:             "InstructionIndex": 1,91# CHECK-NEXT:             "ResourceIndex": 2,92# CHECK-NEXT:             "ResourceUsage": 0.2593# CHECK-NEXT:           },94# CHECK-NEXT:           {95# CHECK-NEXT:             "InstructionIndex": 1,96# CHECK-NEXT:             "ResourceIndex": 3,97# CHECK-NEXT:             "ResourceUsage": 0.2598# CHECK-NEXT:           },99# CHECK-NEXT:           {100# CHECK-NEXT:             "InstructionIndex": 1,101# CHECK-NEXT:             "ResourceIndex": 7,102# CHECK-NEXT:             "ResourceUsage": 0.25103# CHECK-NEXT:           },104# CHECK-NEXT:           {105# CHECK-NEXT:             "InstructionIndex": 1,106# CHECK-NEXT:             "ResourceIndex": 8,107# CHECK-NEXT:             "ResourceUsage": 0.25108# CHECK-NEXT:           },109# CHECK-NEXT:           {110# CHECK-NEXT:             "InstructionIndex": 2,111# CHECK-NEXT:             "ResourceIndex": 2,112# CHECK-NEXT:             "ResourceUsage": 0.25113# CHECK-NEXT:           },114# CHECK-NEXT:           {115# CHECK-NEXT:             "InstructionIndex": 2,116# CHECK-NEXT:             "ResourceIndex": 3,117# CHECK-NEXT:             "ResourceUsage": 0.25118# CHECK-NEXT:           },119# CHECK-NEXT:           {120# CHECK-NEXT:             "InstructionIndex": 2,121# CHECK-NEXT:             "ResourceIndex": 7,122# CHECK-NEXT:             "ResourceUsage": 0.25123# CHECK-NEXT:           },124# CHECK-NEXT:           {125# CHECK-NEXT:             "InstructionIndex": 2,126# CHECK-NEXT:             "ResourceIndex": 8,127# CHECK-NEXT:             "ResourceUsage": 0.25128# CHECK-NEXT:           },129# CHECK-NEXT:           {130# CHECK-NEXT:             "InstructionIndex": 3,131# CHECK-NEXT:             "ResourceIndex": 2,132# CHECK-NEXT:             "ResourceUsage": 0.25133# CHECK-NEXT:           },134# CHECK-NEXT:           {135# CHECK-NEXT:             "InstructionIndex": 3,136# CHECK-NEXT:             "ResourceIndex": 3,137# CHECK-NEXT:             "ResourceUsage": 0.25138# CHECK-NEXT:           },139# CHECK-NEXT:           {140# CHECK-NEXT:             "InstructionIndex": 3,141# CHECK-NEXT:             "ResourceIndex": 7,142# CHECK-NEXT:             "ResourceUsage": 0.25143# CHECK-NEXT:           },144# CHECK-NEXT:           {145# CHECK-NEXT:             "InstructionIndex": 3,146# CHECK-NEXT:             "ResourceIndex": 8,147# CHECK-NEXT:             "ResourceUsage": 0.25148# CHECK-NEXT:           },149# CHECK-NEXT:           {150# CHECK-NEXT:             "InstructionIndex": 4,151# CHECK-NEXT:             "ResourceIndex": 2,152# CHECK-NEXT:             "ResourceUsage": 1153# CHECK-NEXT:           },154# CHECK-NEXT:           {155# CHECK-NEXT:             "InstructionIndex": 4,156# CHECK-NEXT:             "ResourceIndex": 3,157# CHECK-NEXT:             "ResourceUsage": 1158# CHECK-NEXT:           },159# CHECK-NEXT:           {160# CHECK-NEXT:             "InstructionIndex": 4,161# CHECK-NEXT:             "ResourceIndex": 7,162# CHECK-NEXT:             "ResourceUsage": 1163# CHECK-NEXT:           },164# CHECK-NEXT:           {165# CHECK-NEXT:             "InstructionIndex": 4,166# CHECK-NEXT:             "ResourceIndex": 8,167# CHECK-NEXT:             "ResourceUsage": 1168# CHECK-NEXT:           }169# CHECK-NEXT:         ]170# CHECK-NEXT:       }171# CHECK-NEXT:     },172# CHECK-NEXT:     {173# CHECK-NEXT:       "InstructionInfoView": {174# CHECK-NEXT:         "InstructionList": [175# CHECK-NEXT:           {176# CHECK-NEXT:             "Instruction": 0,177# CHECK-NEXT:             "Latency": 1,178# CHECK-NEXT:             "NumMicroOpcodes": 1,179# CHECK-NEXT:             "RThroughput": 0.25,180# CHECK-NEXT:             "hasUnmodeledSideEffects": false,181# CHECK-NEXT:             "mayLoad": false,182# CHECK-NEXT:             "mayStore": false183# CHECK-NEXT:           },184# CHECK-NEXT:           {185# CHECK-NEXT:             "Instruction": 1,186# CHECK-NEXT:             "Latency": 1,187# CHECK-NEXT:             "NumMicroOpcodes": 1,188# CHECK-NEXT:             "RThroughput": 0.25,189# CHECK-NEXT:             "hasUnmodeledSideEffects": false,190# CHECK-NEXT:             "mayLoad": false,191# CHECK-NEXT:             "mayStore": false192# CHECK-NEXT:           }193# CHECK-NEXT:         ]194# CHECK-NEXT:       },195# CHECK-NEXT:       "Instructions": [196# CHECK-NEXT:         "addl\t%ebx, %ebx",197# CHECK-NEXT:         "addl\t%ecx, %ecx"198# CHECK-NEXT:       ],199# CHECK-NEXT:       "Name": "bar",200# CHECK-NEXT:       "ResourcePressureView": {201# CHECK-NEXT:         "ResourcePressureInfo": [202# CHECK-NEXT:           {203# CHECK-NEXT:             "InstructionIndex": 0,204# CHECK-NEXT:             "ResourceIndex": 2,205# CHECK-NEXT:             "ResourceUsage": 0.25206# CHECK-NEXT:           },207# CHECK-NEXT:           {208# CHECK-NEXT:             "InstructionIndex": 0,209# CHECK-NEXT:             "ResourceIndex": 3,210# CHECK-NEXT:             "ResourceUsage": 0.25211# CHECK-NEXT:           },212# CHECK-NEXT:           {213# CHECK-NEXT:             "InstructionIndex": 0,214# CHECK-NEXT:             "ResourceIndex": 7,215# CHECK-NEXT:             "ResourceUsage": 0.25216# CHECK-NEXT:           },217# CHECK-NEXT:           {218# CHECK-NEXT:             "InstructionIndex": 0,219# CHECK-NEXT:             "ResourceIndex": 8,220# CHECK-NEXT:             "ResourceUsage": 0.25221# CHECK-NEXT:           },222# CHECK-NEXT:           {223# CHECK-NEXT:             "InstructionIndex": 1,224# CHECK-NEXT:             "ResourceIndex": 2,225# CHECK-NEXT:             "ResourceUsage": 0.25226# CHECK-NEXT:           },227# CHECK-NEXT:           {228# CHECK-NEXT:             "InstructionIndex": 1,229# CHECK-NEXT:             "ResourceIndex": 3,230# CHECK-NEXT:             "ResourceUsage": 0.25231# CHECK-NEXT:           },232# CHECK-NEXT:           {233# CHECK-NEXT:             "InstructionIndex": 1,234# CHECK-NEXT:             "ResourceIndex": 7,235# CHECK-NEXT:             "ResourceUsage": 0.25236# CHECK-NEXT:           },237# CHECK-NEXT:           {238# CHECK-NEXT:             "InstructionIndex": 1,239# CHECK-NEXT:             "ResourceIndex": 8,240# CHECK-NEXT:             "ResourceUsage": 0.25241# CHECK-NEXT:           },242# CHECK-NEXT:           {243# CHECK-NEXT:             "InstructionIndex": 2,244# CHECK-NEXT:             "ResourceIndex": 2,245# CHECK-NEXT:             "ResourceUsage": 0.5246# CHECK-NEXT:           },247# CHECK-NEXT:           {248# CHECK-NEXT:             "InstructionIndex": 2,249# CHECK-NEXT:             "ResourceIndex": 3,250# CHECK-NEXT:             "ResourceUsage": 0.5251# CHECK-NEXT:           },252# CHECK-NEXT:           {253# CHECK-NEXT:             "InstructionIndex": 2,254# CHECK-NEXT:             "ResourceIndex": 7,255# CHECK-NEXT:             "ResourceUsage": 0.5256# CHECK-NEXT:           },257# CHECK-NEXT:           {258# CHECK-NEXT:             "InstructionIndex": 2,259# CHECK-NEXT:             "ResourceIndex": 8,260# CHECK-NEXT:             "ResourceUsage": 0.5261# CHECK-NEXT:           }262# CHECK-NEXT:         ]263# CHECK-NEXT:       }264# CHECK-NEXT:     }265# CHECK-NEXT:   ],266# CHECK-NEXT:   "SimulationParameters": {267# CHECK-NEXT:     "-march": "x86_64",268# CHECK-NEXT:     "-mcpu": "haswell",269# CHECK-NEXT:     "-mtriple": "x86_64-unknown-unknown"270# CHECK-NEXT:   },271# CHECK-NEXT:   "TargetInfo": {272# CHECK-NEXT:     "CPUName": "haswell",273# CHECK-NEXT:     "Resources": [274# CHECK-NEXT:       "HWDivider",275# CHECK-NEXT:       "HWFPDivider",276# CHECK-NEXT:       "HWPort0",277# CHECK-NEXT:       "HWPort1",278# CHECK-NEXT:       "HWPort2",279# CHECK-NEXT:       "HWPort3",280# CHECK-NEXT:       "HWPort4",281# CHECK-NEXT:       "HWPort5",282# CHECK-NEXT:       "HWPort6",283# CHECK-NEXT:       "HWPort7"284# CHECK-NEXT:     ]285# CHECK-NEXT:   }286# CHECK-NEXT: }287