Apple Microarchitecture Research by Dougall Johnson

M1/A14 P-core (Firestorm): Overview | Base Instructions | SIMD and FP Instructions
M1/A14 E-core (Icestorm):  Overview | Base Instructions | SIMD and FP Instructions

FCMLA (vector, 4H)

Test 1: uops

Code:

  fcmla v0.4h, v1.4h, v2.4h, #90
  movi v0.16b, 1
  movi v1.16b, 2
  movi v2.16b, 3

(no loop instructions)

1000 unrolls and 1 iteration

Retires: 1.000

Issues: 1.000

Integer unit issues: 0.000

Load/store unit issues: 0.000

SIMD/FP unit issues: 1.000

retire uop (01)cycle (02)031e3f4e51schedule uop (52)schedule simd uop (54)dispatch simd uop (57)ldst uops in schedulers (5b)60696d6emap stall dispatch (70)map rewind (75)map stall (76)dispatch uop (78)map simd uop (7e)map simd uop inputs (81)8283flush restart other nonspec (84)85inst all (8c)inst simd alu (9a)l1d cache writeback (a8)accfd5map dispatch bubble (d6)ddfetch restart (de)e0? simd retires (ee)f5f6f7f8fd
100440373006134072510001000100053190804018403740373258338951000100030004037403711100110000073116113473100040384038403840384038
100440373006134072510001000100053190814018403740373258338951000100030004037403711100110000073116113473100040384038403840384038
100440373006134072510001000100053190814018403740373258338951000100030004037403711100110000073116113473100040384038403840384038
1004403730061340725100010001000531908140184037403732583389510001000300040374037111001100001873116113473100040384038403840384038
100440373006134072510001000100053190814018403740373258338951000100030004037403711100110000073116113473100040384038403840384038
100440373006134072510001000100053190814018403740373258338951000100030004037403711100110000073116113473100040384038403840384038
100440373006134072510001000100053190804018403740373258338951000100030004037403711100110000073116113473100040384038403840384038
100440373006134072510001000100053190804018403740373258338951000100030004037403711100110000073116113473100040384038403840384038
1004403731061340725100010001000531908140184037403732583389510001000300040374037111001100001873116113473100040384038403840384038
100440373106134072510001000100053190814018403740373258338951000100030004037403711100110000073116113473100040384038403840384038

Test 2: Latency 1->1

Code:

  fcmla v0.4h, v1.4h, v2.4h, #90
  movi v0.16b, 1
  movi v1.16b, 2
  movi v2.16b, 3

(fused SUBS/B.cc loop)

100 unrolls and 100 iterations

Result (median cycles for code): 4.0037

retire uop (01)cycle (02)03l2 tlb miss data (0b)181e3a3f4e51schedule uop (52)schedule int uop (53)schedule simd uop (54)dispatch int uop (56)dispatch simd uop (57)int uops in schedulers (59)ldst uops in schedulers (5b)60696d6emap stall dispatch (70)simd prf full (72)map rewind (75)map stall (76)dispatch uop (78)map int uop (7c)map simd uop (7e)map int uop inputs (7f)map simd uop inputs (81)8283flush restart other nonspec (84)85inst all (8c)inst branch (8d)inst branch taken (90)inst branch cond (94)inst int alu (97)inst simd alu (9a)9fld unit uop (a6)l1d cache writeback (a8)a9acbranch cond mispred nonspec (c5)branch mispred nonspec (cb)cfd0d5map dispatch bubble (d6)ddfetch restart (de)e0? int output thing (e9)? simd retires (ee)? int retires (ef)f5f6f7f8fd
1020440037300000061394072510100100100001001000050057069081400184003740037381080338745101002001000020030000400374003711102011009910010010000100000000710031622394790100001004003840038400384003840038
1020440037300000061394072510100100100001001000050057069081400184003740037381080338745101002001000020030000400374003711102011009910010010000100000000710021622394790100001004003840038400384003840038
1020440037299000061394072510100100100001001000050057069080400184003740037381080338745101002001000020030000400374003711102011009910010010000100000000710121622394790100001004003840038400384003840038
1020440037300000061394072510100100100001001000050057069081400184003740037381080338745101002001000020030000400374003711102011009910010010000100000000710121622394790100001004003840038400384003840038
1020440037300000061394072510100100100001001000050057069081400184003740037381080338745101002001000020030000400374003711102011009910010010000100000000710121622394790100001004003840038400384003840038
1020440037300000061394072510100100100001001000050057069081400184003740037381080338745101002001000020030000400374003711102011009910010010000100000000710121622394790100001004003840038400384003840038
1020440037300000061394072510100100100001001000050057069081400184003740037381080338745101002001000020030000400374003711102011009910010010000100000000710121622394790100001004003840038400384003840038
1020440037300000061394072510100100100001001000050057069081400184003740037381080338745101002001000020030000400374003711102011009910010010000100000000710121622394790100001004003840038400384003840038
1020440037300000061394072510100100100001001000050057069081400184003740037381080338745101002001000020030000400374003711102011009910010010000100000000710121622394790100001004003840038400384003840038
1020440037300000061394072510100100100001001000050057069081400184003740037381080338745101002001000020030000400374003711102011009910010010000100000000710121623394790100001004003840038400384003840038

1000 unrolls and 10 iterations

Result (median cycles for code): 4.0037

retire uop (01)cycle (02)03mmu table walk data (08)09l2 tlb miss data (0b)1e1f3f4e51schedule uop (52)schedule int uop (53)schedule simd uop (54)dispatch int uop (56)dispatch simd uop (57)int uops in schedulers (59)ldst uops in schedulers (5b)60696d6emap stall dispatch (70)map rewind (75)map stall (76)dispatch uop (78)map int uop (7c)map simd uop (7e)map int uop inputs (7f)map simd uop inputs (81)8283flush restart other nonspec (84)85inst all (8c)inst branch (8d)inst branch taken (90)inst branch cond (94)inst int alu (97)inst simd alu (9a)9fl1d tlb access (a0)ld unit uop (a6)l1d cache writeback (a8)a9acc2cfd5map dispatch bubble (d6)ddfetch restart (de)e0? simd retires (ee)? int retires (ef)f5f6f7f8fd
100244003729900000613940725100101010000101000050570690804001840037400373813033876710010201000020300004003740037111002110910101000010000000640216223947310000104003840038400384003840038
100244003729900000613940725100101010000101000050570690804001840037400373813033876710010201000020300004003740037111002110910101000010000000640216223947310000104003840038400384003840038
100244003729900000613940725100101010000101000050570690804001840037400373813033876710010201000020300004003740037111002110910101000010000000640316223947310000104003840038400384003840038
100244003730000000613940725100101010000101000050570690804001840037400373813033876710010201000020300004003740037111002110910101000010000000640216223947310000104003840038400384003840038
100244003730000000823940725100101010000101000050570690804001840037400373813033876710010201000020300004003740037111002110910101000010000000640216223947310000104003840038400384003840038
100244003730000000613940725100101010000101000050570690804001840037400373813033876710010201000020300004003740037111002110910101000010000000640216223947310000104003840038400384003840038
100244003729900000613940725100101010000101000050570690804001840037400373813033876710158201000020300004003740037111002110910101000010000000640216223947310000104003840038400384003840038
100244003730000000613940725100101010000101000050570690804001840037400373813033876710010201000020300004003740037111002110910101000010000000640216223947310000104003840038400384003840038
100244003730000000613940725100101010000101000050570690804001840037400373813033876710010201000020300004003740037111002110910101000010000000640216223947310000104008540086400384003840038
10024400373000011590613940725100161010000101000061570690804001840037400373813033876710010201000020300004003740037111002110910101000010001000640316223947310000104003840038400384003840038

Test 3: Latency 1->2

Code:

  fcmla v0.4h, v0.4h, v1.4h, #90
  movi v0.16b, 1
  movi v1.16b, 2

(fused SUBS/B.cc loop)

100 unrolls and 100 iterations

Result (median cycles for code): 4.0037

retire uop (01)cycle (02)031e3f4e51schedule uop (52)schedule int uop (53)schedule simd uop (54)dispatch int uop (56)dispatch simd uop (57)int uops in schedulers (59)ldst uops in schedulers (5b)60696d6emap stall dispatch (70)map rewind (75)map stall (76)dispatch uop (78)map int uop (7c)map simd uop (7e)map int uop inputs (7f)map simd uop inputs (81)8283flush restart other nonspec (84)85inst all (8c)inst branch (8d)inst branch taken (90)inst branch cond (94)inst int alu (97)inst simd alu (9a)9fl1d cache writeback (a8)acbranch mispred nonspec (cb)cfd5map dispatch bubble (d6)ddfetch restart (de)e0? simd retires (ee)? int retires (ef)f5f6f7f8fd
1020440037300061394072510100100100001001000050057069081400184003740037381083387451010020010000200300004003740037111020110099100100100001000007101161139479100001004003840038400384003840038
1020440037300061394072510100100100001001000050057069081400184003740037381083387451010020010000200300004003740037111020110099100100100001000007101161139479100001004003840038400384003840038
102044003729902742394072510100100100001001000050057069081400184003740037381083387451010020010000200300004003740037111020110099100100100001000007101161139479100001004003840038400384003840038
1020440037300061394072510100100100001001000050057069081400184003740037381083387451026420010000200300004003740037111020110099100100100001000007101161139479100001004003840038400384003840038
1020440037299061394072510100100100001001000050057069081400184003740037381083387451010020010000200300004003740037111020110099100100100001000007101161139479100001004003840038400384003840038
1020440037300061394072510100100100001001000050057069081400184003740037381083387451010020010000200300004003740037111020110099100100100001000007101161139479100001004003840038400384003840038
1020440037300061394072510100100100001001000050057069081400184003740037381083387451010020010000200300004003740037111020110099100100100001000007101161139479100001004003840038400384003840038
1020440037300061394072510100100100001001000050057069081400184003740037381083387451010020010000200300004003740037111020110099100100100001000007101161139479100001004003840038400384003840038
1020440037300061394072510100100100001001000050057069081400184003740037381083387451010020010000200300004003740037111020110099100100100001000007101161139479100001004003840038400384003840038
1020440037300061394072510100100100001001000050057069081400184003740037381083387451010020010000200300004003740037111020110099100100100001000007101161139479100001004003840038400384003840038

1000 unrolls and 10 iterations

Result (median cycles for code): 4.0037

retire uop (01)cycle (02)0318191e3f4e51schedule uop (52)schedule int uop (53)schedule simd uop (54)dispatch int uop (56)dispatch simd uop (57)int uops in schedulers (59)ldst uops in schedulers (5b)60696d6emap stall dispatch (70)map rewind (75)map stall (76)dispatch uop (78)map int uop (7c)map simd uop (7e)map int uop inputs (7f)map simd uop inputs (81)8283flush restart other nonspec (84)85inst all (8c)inst branch (8d)inst branch taken (90)inst branch cond (94)inst int alu (97)inst simd alu (9a)9fl1d tlb miss (a1)ld unit uop (a6)l1d cache writeback (a8)accfd5map dispatch bubble (d6)ddfetch restart (de)e0? simd retires (ee)? int retires (ef)f5f6f7f8fd
100244003730000726139407251001010100001010000505706908140018400374003738130338767100102010000203000040037400371110021109101010000100000640216223947310000104003840038400384003840038
1002440037301003726139407251001010100001010000505706908140018400374003738130338767100102010000203000040037400371110021109101010000100000640216223947310000104003840038400384003840038
1002440037300005166139407251001010100001010000505706908040018400374003738130338767100102010000203000040037400371110021109101010000100000640216223947310000104003840038400384003840038
1002440037300404746139407251001010100001010000505706908140018400374003738130338767100102010000203000040037400371110021109101010000100010640216223947310000104003840038400384003840038
1002440037300001146139407251001010100001010000505706908140018400374003738130338767100102010000203000040037400371110021109101010000100000640216223947310000104003840038400384003840038
1002440037299006966139407251001010100001010000505706908140018400374003738130338767100102010000203000040037400371110021109101010000100000640216223947310000104003840038400384003840038
100244003730000582726394072510010101000010100005057083041400184003740037381301738767100102010000203000040037400371110021109101010000100000640216223947310000104003840038400384003840038
1002440037300004686139407251001010100001010000505706908140018400374003738130338767100102010000203000040037400371110021109101010000100010640216223947310000104003840038400384003840038
1002440037300002256139407251001010100001010000505706908140018400374003738130338767100102010000203000040037400371110021109101010000100000640216223947310000104003840038400384003840038
1002440037299004536139407251001010100001010000505706908140018400374003738130338767100102010000203000040037400371110021109101010000100000640216223947310000104003840038400384003840038

Test 4: Latency 1->3

Code:

  fcmla v0.4h, v1.4h, v0.4h, #90
  movi v0.16b, 1
  movi v1.16b, 2

(fused SUBS/B.cc loop)

100 unrolls and 100 iterations

Result (median cycles for code): 4.0037

retire uop (01)cycle (02)0318191e1f3a3f4e51schedule uop (52)schedule int uop (53)schedule simd uop (54)dispatch int uop (56)dispatch simd uop (57)int uops in schedulers (59)ldst uops in schedulers (5b)60696d6emap stall dispatch (70)map rewind (75)map stall (76)dispatch uop (78)map int uop (7c)map simd uop (7e)map int uop inputs (7f)map simd uop inputs (81)8283flush restart other nonspec (84)85inst all (8c)inst branch (8d)inst branch taken (90)inst branch cond (94)inst int alu (97)inst simd alu (9a)9fl1d cache writeback (a8)accdcfd5map dispatch bubble (d6)ddfetch restart (de)e0? int output thing (e9)? simd retires (ee)? int retires (ef)f5f6f7f8fd
1020440037300006900613940725101001001000010010000500570690804001840037400373810833874510100200100002003000040037400371110201100991001001000010000071011611394790100001004003840038400384003840038
10204400373000060000613940725101001001000010010000500570690804001840037400373810833874510100200100002003000040037400371110201100991001001000010000071011611394790100001004003840038400384003840038
10204400373000052800613940725101001001000010010000500570690804001840037400373810833874510100200100002003000040037400371110201100991001001000010010071011611394790100001004003840038400384003840038
102044003730000240061394072510100100100001001000050057069080400184003740037381083387451010020010000200300004003740037111020110099100100100001000141071011611395530100001004003840038400384003840038
1020440037300003900613940725101001001000010010000500570690804001840037400373810833874510100200100002003000040037400371110201100991001001000010000071011611394790100001004003840038400384003840038
1020440037300003600613940725101001001000010010000500570690804001840037400373810833874510100200100002003000040037400371110201100991001001000010000071011611394790100001004003840038400384003840038
1020440037299003300613940725101001001000010010000500570690804001840037400373810833874510100200100002003000040037400371110201100991001001000010000071011611394790100001004003840038400384003840038
10204400373000027900613940725101001001000010010000500570690804001840037400373810833874510100200100002003000040037400371110201100991001001000010000071011611394790100001004003840038400384003840038
10204400373000051300823940725101001001000010010000500570690804001840037400373810833874510100200100002003000040037400371110201100991001001000010000071011611394790100001004003840038400384003840038
1020440037300003300613940725101001001000010010000500570690804001840037400373810833874510100200100002003000040037400371110201100991001001000010000071011611394790100001004003840038400384003840038

1000 unrolls and 10 iterations

Result (median cycles for code): 4.0037

retire uop (01)cycle (02)031e1f3f4e51schedule uop (52)schedule int uop (53)schedule simd uop (54)dispatch int uop (56)dispatch simd uop (57)int uops in schedulers (59)ldst uops in schedulers (5b)60696b6d6emap stall dispatch (70)map rewind (75)map stall (76)dispatch uop (78)map int uop (7c)map simd uop (7e)map int uop inputs (7f)map simd uop inputs (81)8283flush restart other nonspec (84)85inst all (8c)inst branch (8d)inst branch taken (90)inst branch cond (94)inst int alu (97)inst simd alu (9a)9fl1d tlb access (a0)l1d cache writeback (a8)accfd5map dispatch bubble (d6)ddfetch restart (de)e0? simd retires (ee)? int retires (ef)f5f6f7f8fd
1002440037300006139407251001010100001010000505706908140018040037400373813033876710010201000020300004003740037111002110910101000010000640216223947310000104003840038400384003840038
100244003730000613940725100101010000101000050570690804001804003740037381303387671001020100002030000400374003711100211091010100001000159640216223947310000104003840038400384003840038
100244003729900613940725100101010000101000050570690804001804003740037381303387671001020100002030000400374003711100211091010100001000162640216223947310000104003840038400384003840038
1002440037300006139407251001010100001210148505706908140018040037400373813033876710010201000020300004003740037111002110910101000010000640216223947310000104003840038400384003840038
10024400372990061394072510010101000010101485057069081400180400374003738130338767100102010000203000040037400371110021109101010000100127640216223947310000104003840038401334003840038
10024400373009061394074410010101000010100005057069081400180400374003738130338767100102010000203000040037400371110021109101010000100453640216223947310000104003840038400384003840038
10024400373000061394072510010101000010100005057069081400180400374003738130338767100102010000203000040037400371110021109101010000100546640216223947310000104003840038400384003840038
10024400373000061394072510010101000010100005057069081400180400374003738130338767100102010000203000040037400371110021109101010000100503640216223947310000104003840038400384003840038
1002440037300006139407441001010100001010000505706908140018040037400373813033876710010201000020300004003740037111002110910101000010069640216223947310000104003840038400384003840038
100244003730012010339407251001010100001010000505706908140018040037400373813033876710010201000020305014008540037111002110910101000010233640216223947310000104003840038400854003840038

Test 5: throughput

Count: 8

Code:

  movi v0.16b, 0
  fcmla v0.4h, v8.4h, v9.4h, #90
  movi v1.16b, 0
  fcmla v1.4h, v8.4h, v9.4h, #90
  movi v2.16b, 0
  fcmla v2.4h, v8.4h, v9.4h, #90
  movi v3.16b, 0
  fcmla v3.4h, v8.4h, v9.4h, #90
  movi v4.16b, 0
  fcmla v4.4h, v8.4h, v9.4h, #90
  movi v5.16b, 0
  fcmla v5.4h, v8.4h, v9.4h, #90
  movi v6.16b, 0
  fcmla v6.4h, v8.4h, v9.4h, #90
  movi v7.16b, 0
  fcmla v7.4h, v8.4h, v9.4h, #90
  movi v8.16b, 9
  movi v9.16b, 10

(fused SUBS/B.cc loop)

100 unrolls and 100 iterations

Result (median cycles for code divided by count): 0.2508

retire uop (01)cycle (02)031e1f3f51schedule uop (52)schedule int uop (53)schedule simd uop (54)dispatch int uop (56)dispatch simd uop (57)int uops in schedulers (59)ldst uops in schedulers (5b)60696b6d6emap rewind (75)map stall (76)dispatch uop (78)map int uop (7c)map simd uop (7e)map int uop inputs (7f)map simd uop inputs (81)8283flush restart other nonspec (84)85inst all (8c)inst branch (8d)inst branch taken (90)inst branch cond (94)inst int alu (97)inst simd alu (9a)9fl1d tlb miss (a1)l1d cache writeback (a8)acbranch mispred nonspec (cb)cfd5map dispatch bubble (d6)ddfetch restart (de)e0? simd retires (ee)? int retires (ef)f5f6f7f8fd
160204200911510040258010010080000100800005006400000200460200652006532380100200800002002400002006520065111602011009910010016000010010301011111611200621600001002006620066200662006620066
160204200651500040258010010080000100800005006400000200460200652006532380100200800002002400002006520065111602011009910010016000010000001011111611200621600001002006620066200662006620066
160204200651500040258010010080000100800005006400000200460200652006532380100200800002002400002006520065111602011009910010016000010000001011111611200621600001002006620066200662006620066
1602042006515500402580100100800001008000050064000002004602006520065323801002008000020024000020065200651116020110099100100160000100019301011111611200621600001002006620066200662006620066
1602042006515000402580100100800001008000050064000002004602006520065323801002008000020024000020065200651116020110099100100160000100001501011111611200621600001002006620066200662006620066
1602042006515000402580100100800001008000050064000002004602006520065323801002008000020024000020065200651116020110099100100160000100003001011111611200621600001002006620066200662006620066
160204200651500040258010010080000100800005006400000200460200652006532380100200800002002400002006520065111602011009910010016000010000001011111611200621600001002006620066200662006620066
160204200651580040258010010080000100800005006400000200460200652006532380100200800002002400002006520065111602011009910010016000010000301011111611200621600001002006620066200662006620066
1602042006515100402580100100800001008000050064000002004602006520065323801002008000020024000020065200651116020110099100100160000100034001011111611200621600001002006620066200662006620066
160204200651510040258010010080000100800005006400000200460200652006532380100200800002002400002006520065111602011009910010016000010000301011111611200621600001002006620066200662006620066

1000 unrolls and 10 iterations

Result (median cycles for code divided by count): 0.2506

retire uop (01)cycle (02)031e3f51schedule uop (52)schedule int uop (53)schedule simd uop (54)dispatch int uop (56)dispatch simd uop (57)int uops in schedulers (59)ldst uops in schedulers (5b)5f6061696d6erob full (74)map rewind (75)map stall (76)dispatch uop (78)map int uop (7c)map simd uop (7e)map int uop inputs (7f)map simd uop inputs (81)8283flush restart other nonspec (84)85inst all (8c)inst branch (8d)inst branch taken (90)inst branch cond (94)inst int alu (97)inst simd alu (9a)9fl1d cache writeback (a8)acbranch mispred nonspec (cb)cfd0d2l1i cache miss demand (d3)d5map dispatch bubble (d6)d9dadbddfetch restart (de)e0? int output thing (e9)eaec? simd retires (ee)? int retires (ef)f5f6f7f8fd
1600242010015004627800121280000128000062640000110200332005220052032380012208000020240000200522006111160021109101016000010430100358111925211115200492201160000102005320241200882005320053
1600242005215004627800121280000128000062640000115200332005220052032380012208000020240000200522005211160021109101016000010100100398411625211511200492201160000102005320217200902005320053
1600242005215004627800121280000128000062640000115200332005220052032380012208000020240000200522005211160021109101016000010000100348411025211616200492201160000102005320242200662005320053
16002420052150046278001212800001280000626400001152003320052200520323800122080000202400002005220052111600221091010160000102301002984117252111612200492201160000102005320243200882005320053
1600242005215007429800121280000128000062640000115200332005220052032380012208000020240000200522005211160021109101016000010100100358411225211116200492201160000102005320227200882005320053
1600242005215104627800121280000128000062640000115200332005220052032380012208000020240000200522005211160021109101016000010600100288411225211616200492201160000102005320218200662005320053
160024200521500462780012128000012800006264000011520033200522005203238001220800002024000020052200521116002110910101600001000010035841625211126200492201160000102005320235200662005320053
1600242005215004627800121280000128000062640000115200332005220052032380012208000020240000200522005211160021109101016000010000100348411225211125200492201160000102005320203200882005320053
16002420057150046278001212800001280000626400001152003320052200520323800122080000202400002005220052111600211091010160000100001002884118252111612200492201160000102005320219200662005520053
1600242005215004627800121280000128000062640000115200332005220052032380012208000020240000200522005211160021109101016000010569010038841625211410200492201160000102005320213200882005320053

Test 6: throughput

Count: 16

Code:

  fcmla v0.4h, v16.4h, v17.4h, #90
  fcmla v1.4h, v16.4h, v17.4h, #90
  fcmla v2.4h, v16.4h, v17.4h, #90
  fcmla v3.4h, v16.4h, v17.4h, #90
  fcmla v4.4h, v16.4h, v17.4h, #90
  fcmla v5.4h, v16.4h, v17.4h, #90
  fcmla v6.4h, v16.4h, v17.4h, #90
  fcmla v7.4h, v16.4h, v17.4h, #90
  fcmla v8.4h, v16.4h, v17.4h, #90
  fcmla v9.4h, v16.4h, v17.4h, #90
  fcmla v10.4h, v16.4h, v17.4h, #90
  fcmla v11.4h, v16.4h, v17.4h, #90
  fcmla v12.4h, v16.4h, v17.4h, #90
  fcmla v13.4h, v16.4h, v17.4h, #90
  fcmla v14.4h, v16.4h, v17.4h, #90
  fcmla v15.4h, v16.4h, v17.4h, #90
  movi v16.16b, 17
  movi v17.16b, 18

(fused SUBS/B.cc loop)

100 unrolls and 100 iterations

Result (median cycles for code divided by count): 0.2502

retire uop (01)cycle (02)03l2 tlb miss data (0b)191e1f373f4e51schedule uop (52)schedule int uop (53)schedule simd uop (54)dispatch int uop (56)dispatch simd uop (57)int uops in schedulers (59)ldst uops in schedulers (5b)61696d6emap stall dispatch (70)simd prf full (72)map rewind (75)map stall (76)dispatch uop (78)map int uop (7c)map simd uop (7e)map int uop inputs (7f)map simd uop inputs (81)8283flush restart other nonspec (84)85inst all (8c)inst branch (8d)inst branch taken (90)inst branch cond (94)inst int alu (97)inst simd alu (9a)9fl1d tlb access (a0)l1d cache writeback (a8)accfd0d5map dispatch bubble (d6)ddfetch restart (de)e0? simd retires (ee)? int retires (ef)f5f6f7f8fd
1602044204230400003442025160118100160000100160000500586303804002140040400401997303199981601002001600002004800004004040040111602011009910010016000010001010110011611423151600001004004140044422824230640041
160204400402990000534202516015310016001710016000050012800000400214004040042199730319998160100200160210200480000400404230511160201100991001001600001000122010110031611400371600001004231940041400414004142282
160204423183000000042897025160153100160053100160000500586833304002140040400401997303199981601002001600002004800004004042318111602011009910010016000010000010110011611400371600001004231940041423194004140041
1602044004030000002242025160100100160000100160000500128000004002140040400402111103222761601002001600002004800004231840040111602011009910010016000010000010110011611400371600001004004140041423194004142319
160204411903090000042025160153100160000100160000500128000004229942318400402222203199981601002001600002004800004230540040111602011009910010016000010000010110011611400371600001004231940041423194004140041
160204400403000000142025160153100160000100160000500128000004229942318400401997303199981601002001600002004800004004042318111602011009910010016000010000010110011611400371600001004004140041400414230640041
160204423093170000061025160100100160000100160000500128000004002140040400401997303199981601002001600002004800004004040040111602011009910010016000010000010110011611423151600001004230642315400414231940041
160204400403160000061025160151100160000100160000500128000004229940040400401997303199981601002001600002004800004004040040111602011009910010016000010000010110011611400371600001004004142310400414119140041
16020440040317000051309025160100100160000100160000500128000004002140040400401997303199981601002001600002004800004231840040111602011009910010016000010000010110011611423151600001004004140041400414004140041
160204400402990000061025160100100160000100160000500128000004229940040423182222203222761601002001600002004800004231840040111602011009910010016000010000010110011621423151600001004231940041400424004241220

1000 unrolls and 10 iterations

Result (median cycles for code divided by count): 0.2502

retire uop (01)cycle (02)03mmu table walk data (08)1e373a3f4e51schedule uop (52)schedule int uop (53)schedule simd uop (54)dispatch int uop (56)dispatch simd uop (57)int uops in schedulers (59)ldst uops in schedulers (5b)5f6061696d6emap stall dispatch (70)map rewind (75)map stall (76)dispatch uop (78)map int uop (7c)map simd uop (7e)map int uop inputs (7f)map simd uop inputs (81)8283flush restart other nonspec (84)85inst all (8c)inst branch (8d)inst branch taken (90)inst branch cond (94)inst int alu (97)inst simd alu (9a)9fl1d tlb access (a0)l1d tlb miss (a1)st unit uop (a7)l1d cache writeback (a8)acc2cfd0d2l1i cache miss demand (d3)d5map dispatch bubble (d6)d9dadbddfetch restart (de)e0eaeb? simd retires (ee)? int retires (ef)f5f6f7f8fd
160024400403060053067025160010101600531016000050128000011040021400404004019996321225160010201600002048000040040400401116002110910101600001000000010024114111164121010400374016160000104228640041422864004140041
160024400903170390053897025160010101600001016000050128000001040021423184004019996320021160010201600002048000040040400401116002110910101600001000000010022116212164221011400374016160000104004140041400414004142295
1600244231830000005302516001010160000101600005012800000154002140040400401999632002016001020160000204800004004042318111600211091010160000102000001004911621016422710400374016160000104004140041400414004140041
160024400403000017053469525160045101600351016000050128000001540021400404004019996320020160010201600002048000040040423181116002110910101600001000000010024116210164221011412424016160000104004141246400414124640041
1600244004030000005302516006310160177101600005012800000154002140040400401999632002016001020160000204800004004042318111600211091010160000100000001002411627164521110400374016160000104004142286400414228640041
160024400403160000738970251600631016000010160000501280000010400214004340040199963200201600102016000020480000400404004011160021109101016000010000000100241121816412127400374016160000104229540041423194004140041
1600244004030000005288863251600271016001710160000505867562115422624004040040199963200201600102016000020480000400404004011160021109101016000010000000100248621116421813400372016160000104231940041423194004140041
160024400403170000530251600101016000010160000505721073000400214004040040199963200201600102016000020480000400404228511160021109101016000010000000100241162101642210740037408160000104004142319400414004142319
1600244231830000007302516004610160000101600005012800000154002140040412052117332002016001020160000204800004004040040111600211091010160000100000001002411221016211810400374016160000104004140041400414004140041
16002440040317001707302516002710160017101600005012800001154229940040400401999632002016001020160000204800004228140040111600211091010160000100000001002211521216211131340037408160000104004140041400414124640041