#!/bin/bash

function run_pfmon {
    pfmon -e $1 --no-cmd-output ./hp-stride 16384 10000
}

echo "** back end **"

for t in BACK_END_BUBBLE_FE BACK_END_BUBBLE_L1D_FPU_RSE
do
  run_pfmon $t
done
echo "----------------------------- <--- adds to"

run_pfmon BACK_END_BUBBLE_ALL

echo ""
echo "** breaking down FPU**"

for t in BE_L1D_FPU_BUBBLE_FPU BE_L1D_FPU_BUBBLE_L1D
do
  run_pfmon $t
done

echo "----------------------------- <--- adds to"

run_pfmon BE_L1D_FPU_BUBBLE_ALL

echo ""
echo "** breaking down L1D**"
for t in  BE_L1D_FPU_BUBBLE_L1D_FULLSTBUF BE_L1D_FPU_BUBBLE_L1D_DCURECIR BE_L1D_FPU_BUBBLE_L1D_HPW BE_L1D_FPU_BUBBLE_L1D_FILLCONF BE_L1D_FPU_BUBBLE_L1D_DCS BE_L1D_FPU_BUBBLE_L1D_L2BPRESS BE_L1D_FPU_BUBBLE_L1D_TLB BE_L1D_FPU_BUBBLE_L1D_LDCONF BE_L1D_FPU_BUBBLE_L1D_LDCHK BE_L1D_FPU_BUBBLE_L1D_NAT BE_L1D_FPU_BUBBLE_L1D_STBUFRECIR BE_L1D_FPU_BUBBLE_L1D_NATCONF
  do
  run_pfmon $t
  done

echo "----------------------------- <-- adds to"

run_pfmon BE_L1D_FPU_BUBBLE_L1D

