Apple M1 Microarchitecture Research by Dougall Johnson

Firestorm: Overview | Base Instructions | SIMD and FP Instructions
Icestorm:  Overview | Base Instructions | SIMD and FP Instructions

FMLA (by element, D)

Test 1: uops

Code:

  fmla d0, d1, v2.d[1]
  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 (01)cycle (02)03081e3f4e51inst issue (52)~issue fp/simd (54)~dispatch fp/simd (57)huge thing fp/simd (5b)696d6edispatch stall (70)scheduler rewind (75)scheduler stall (76)~dispatch op (78)~map op fp/simd (7e)~map lookup fp/simd (81)8283pipeline redirect (84)85inst all (8c)inst neon or fp (9a)a8accfd5d6ddinst fetch restart (de)e0? fp/simd (ee)f5f6f7f8fd
100440373000613407251000100010005319084018403740373258338951000100030004037403711100110000073116113473100040384038403840384038
100440373000613407251000100010005319084018403740373258338951000100030004037403711100110000073116113473100040384038403840384038
100440373100613407251000100010005319084018403740373258338951000100030004037403711100110001073116113473100040384038403840384038
100440373000613407251000100010005319084018403740373258338951000100030004037403711100110000073116113473100040384038403840384085
10044037300216134072510001000100053190840184037403732583389510001000300040374037111001100004873116113473100040384038403840384038
100440373000613407251000100010005319084018403740373258338951000100030004037403711100110000073116113473100040384038403840384038
100440373000613407251000100010005319084018403740373258338951000100030004037403711100110000373116113473100040384038403840384038
100440373000613407251000100010005319084018403740373258338951000100030004037403711100110000673116113473100040384038403840384038
100440373000613407251000100010005319084018403740373258338951000100030004037403711100110000073116213473100040384038403840384038
1004403730066134072510001000100053190840184037403732583389510001000300040374037111001100004273116113473100040384038403840384038

Test 2: Latency 1->1

Code:

  fmla d0, d1, v2.d[1]
  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 (01)cycle (02)03080a1e3a3f4e51inst issue (52)~issue int (53)~issue fp/simd (54)~dispatch int (56)~dispatch fp/simd (57)huge thing int (59)huge thing fp/simd (5b)60696d6edispatch stall (70)scheduler rewind (75)scheduler stall (76)~dispatch op (78)~map op int (7c)~map op fp/simd (7e)~map lookup int (7f)~map lookup fp/simd (81)8283pipeline redirect (84)85inst all (8c)inst branch (8d)inst branch taken (90)inst b.cc (94)inst integer (97)inst neon or fp (9a)9fa0a8a9accfd0d5d6ddinst fetch restart (de)e0? int output thing (e9)? fp/simd (ee)gpr retires (ef)f5f6f7f8fd
1020440037299000061394072510100100100001001000050057069081400184003740037381083387451010020010000200300004003740037111020110099100100100001000103710031633394790100001004003840038400384003840038
1020440037300000061394072510100100100001001000050057069081400184003740037381083387451010020010000200300004003740037111020110099100100100001000400710031633394790100001004003840038400384003840038
1020440037300000082394072510100100100001001000050057069080400184003740037381083387451010020010000200300004003740037111020110099100100100001000100710141633394790100001004003840038400384003840038
10204400373000000613940725101001001000010010000500570690814001840037400373810833874510100202100002003000040037400371110201100991001001000010002400710131633394790100001004003840038400384003840038
1020440037300000061394072510100100100001001000050057069080400184003740037381083387451010020010000200300004003740037111020110099100100100001000000710131633394790100001004003840038400864008640038
10204400373000000613940725101001001000010010000500570690814001840037400373810833874510100200100002003000040037400371110201100991001001000010005700710131633394790100001004003840038400384003840038
10204400372990000613940725101001001000010010000500570690814001840037400373810833874510100200100002003000040037400371110201100991001001000010003700710131633394790100001004003840038400384003840038
102044003729900570061394072510100100100001001000050057069081400184003740037381083387451010020010000200300004003740037111020110099100100100001000400710131633394790100001004003840038400384003840038
1020440037300000061394072510100100100001001000050057069081400184003740037381083387451010020010000200300004003740037111020110099100100100001000100710131633394790100001004003840038400384003840038
1020440037300000061394072510100100100001001000050057069081400184003740037381083387451010020010000200300004003740037111020110099100100100001000520710131634394790100001004003840038400384003840038

1000 unrolls and 10 iterations

Result (median cycles for code): 4.0037

retire (01)cycle (02)031e3f4e51inst issue (52)~issue int (53)~issue fp/simd (54)~dispatch int (56)~dispatch fp/simd (57)huge thing int (59)huge thing fp/simd (5b)60696d6edispatch stall (70)72scheduler rewind (75)scheduler stall (76)~dispatch op (78)~map op int (7c)~map op fp/simd (7e)~map lookup int (7f)~map lookup fp/simd (81)8283pipeline redirect (84)85inst all (8c)inst branch (8d)inst branch taken (90)inst b.cc (94)inst integer (97)inst neon or fp (9a)9fa6a8accfd5d6ddinst fetch restart (de)e0? fp/simd (ee)gpr retires (ef)f5f6f7f8fd
100244003729909439407251001010100001010000505706908140018400374003738130033876710010201000020300004003740037111002110910101000010000640316223947310000104008440086400384003840038
100244003730006139407251001010100001010000505706908140018400374003738130033876710010201000020300004003740037111002110910101000010000640316223947310000104003840038400384003840038
100244003729906139407251001010100001010000505706908140018400374003738130033876710010201000020300004003740037111002110910101000010000640216223947310000104003840038400384003840038
100244003730006139407251001010100001010000505706908140018400374003738130033876710010201000020300004003740037111002110910101000010000640216223947310000104003840038400384003840038
1002440037300010339407841001010100001010000505706908140018400374003738130033876710010201000020300004022840037111002110910101000010026723216223959210000104003840038400384003840038
1002440037300428239407251001010100001010000505706908140018400374003738130033876710010201000020300004003740037111002110910101000010013640216223947310000104003840038400384003840038
100244003730006139407251001010100001010000505706908140018400374003738130033876710010201000020300004003740037111002110910101000010019640216223947310000104003840038400384003840038
1002440037300126139407251001010100001010000505706908140018400374003738130033876710010201000020300004003740037111002110910101000010000640216223947310000104003840038400384003840038
100244003730006139407251001010100001010000505706908140018400374003738130033876710010201000020300004003740037111002110910101000010010640216223947310000104003840038400384003840038
100244003730006139407251001010100001010000505706908140018400374003738130033876710010201000020300004003740037111002110910101000010010640216223947310000104003840038400384003840038

Test 3: Latency 1->2

Code:

  fmla d0, d0, v1.d[1]
  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 (01)cycle (02)030b1e3f4e51inst issue (52)~issue int (53)~issue fp/simd (54)~dispatch int (56)~dispatch fp/simd (57)huge thing int (59)huge thing fp/simd (5b)60696d6edispatch stall (70)scheduler rewind (75)scheduler stall (76)~dispatch op (78)~map op int (7c)~map op fp/simd (7e)~map lookup int (7f)~map lookup fp/simd (81)8283pipeline redirect (84)85inst all (8c)inst branch (8d)inst branch taken (90)inst b.cc (94)inst integer (97)inst neon or fp (9a)9fa0a6a8accdcfd5d6ddinst fetch restart (de)e0? fp/simd (ee)gpr retires (ef)f5f6f7f8fd
1020440037300006139407251010010010000100100005005706908040018400374003738108338745101002001000020030000400374003711102011009910010010000100000007102162239479100001004003840038400384003840038
1020440037300006139407251010010010000100100005005706908140018400374003738108338745101002001000020030000400374003711102011009910010010000100000007102162239479100001004003840038400384003840038
10204400373000061394072510100100100001001000050057069080400184003740037381083387451010020010000200300004003740037111020110099100100100001000051007102162239479100001004003840038400384003840038
10204400373000031539407251010010010000100100005005706908040018400374003738108338745101002001000020030000400374003711102011009910010010000100000007102162239479100001004003840038400384003840038
1020440037300006139407251010010010000100100005005706908040018400374003738108338745101002001000020030000400374003711102011009910010010000100001007102162239479100001004003840038400384003840038
1020440037299006139407251010010010000100100005005706908040018400374003738108338745101002001000020030000400374003711102011009910010010000100000007102162239479100001004003840038400384003840038
102044003729900726394072510100100100001001000050057069080400184003740037381083387451010020010000200300004003740037111020110099100100100001000011807102162239479100001004003840038400384003840038
1020440037300006139407251010010010000100100005005706908040018400374003738108338745101002001000020030000400374003711102011009910010010000100000007102162239479100001004003840038400384003840038
1020440037299006139407251010010010000100100005005706908040018400374003738108338745101002001000020030000400374003711102011009910010010000100000007102162239479100001004003840038400384003840038
1020440037300006139407251010010010000100100005005706908040018400374003738108338745101002001000020030000400374003711102011009910010010000100000007102162239479100001004003840038400384003840038

1000 unrolls and 10 iterations

Result (median cycles for code): 4.0037

retire (01)cycle (02)03081e3f4e51inst issue (52)~issue int (53)~issue fp/simd (54)~dispatch int (56)~dispatch fp/simd (57)huge thing int (59)huge thing fp/simd (5b)60696d6edispatch stall (70)scheduler rewind (75)scheduler stall (76)~dispatch op (78)~map op int (7c)~map op fp/simd (7e)~map lookup int (7f)~map lookup fp/simd (81)8283pipeline redirect (84)85inst all (8c)inst branch (8d)inst branch taken (90)inst b.cc (94)inst integer (97)inst neon or fp (9a)9fa1a8c5branch mispredict (cb)cfd5d6ddinst fetch restart (de)e0? int output thing (e9)? fp/simd (ee)gpr retires (ef)f5f6f7f8fd
10024400373000061394072510010101000010100005057069081400184003740037381303387671001020100002030000400374003711100211091010100001000006402162239473010000104003840038400384003840038
10024400373000061394072510010101000010100005057069081400184003740037381303387671001020100002030000400374003711100211091010100001000006402162239473010000104003840038400384003840038
10024400373000061394072510010101000010100005057069081400184003740037381303387671001020100002030000400374003711100211091010100001001006402162239473010000104003840038400384003840038
10024400373000061394072510010101000010100005057069081400184003740037381303387671001020100002030000400374003711100211091010100001000006402162239473010000104003840038400384003840038
10024400373000061394072510010101000010100005057069080400184003740037381303387671001020100002030000400374003711100211091010100001000006402162239473010000104003840038400384003840038
10024400373010061394072510010101000010100005057069080400184003740037381303387671001020100002030000400374003711100211091010100001000006402162239473010000104003840038400384003840038
10024400373000061394072510010101000010100005057069080400184003740037381303387671001020100002030000400374003711100211091010100001000006402162239473010000104003840038400384003840038
10024400372990061394072510010101000010100005057069081400184003740037381303387671001020100002030000400374003711100211091010100001023006402162239473010000104003840038400384003840038
100244003730000726394072510010101000010100005057069081400184003740037381303387671001020100002030000400374003711100211091010100001000006402162239473010000104003840038400384003840038
10024400373000061394072510010101000010100005057069080400184003740037381303387671001020100002030000400374003711100211091010100001000006402162239473010000104003840038400384003840038

Test 4: Latency 1->3

Code:

  fmla d0, d1, v0.d[1]
  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 (01)cycle (02)030a191e3f4e51inst issue (52)~issue int (53)~issue fp/simd (54)~dispatch int (56)~dispatch fp/simd (57)huge thing int (59)huge thing fp/simd (5b)60696d6edispatch stall (70)scheduler rewind (75)scheduler stall (76)~dispatch op (78)~map op int (7c)~map op fp/simd (7e)~map lookup int (7f)~map lookup fp/simd (81)8283pipeline redirect (84)85inst all (8c)inst branch (8d)inst branch taken (90)inst b.cc (94)inst integer (97)inst neon or fp (9a)9fa0a1a8a9accfd5d6ddinst fetch restart (de)e0? fp/simd (ee)gpr retires (ef)f5f6f7f8fd
10204400372990006139407251010010010000100100005005706908040018400374003738108338745101002001000020030000400374003711102011009910010010000100001007101161139479100001004003840038400384003840038
10204400373000066139407251010010010000100100005005706908140018400374003738108338745101002001000020030000400374003711102011009910010010000100000007101161139479100001004003840038400384003840038
10204400372990006139407251010010010000100100005005706908040018400374003738108338745101002001000020030000400374003711102011009910010010000100001007101161139479100001004003840038400384003840038
10204400373000006139407251010010010000100100005005706908040018400374003738108338745101002001000020030000400374003711102011009910010010000100000007101161139479100001004003840038400384003840038
10204400373000006139407251010010010000100100005005706908140018400374003738108338745101002001000020030000400374003711102011009910010010000100001007101161139479100001004003840038400384003840038
102044003729900936139407251010010010000100100005005706908140018400374003738108338745101002001000020030000400374003711102011009910010010000100000007101161139479100001004003840038400384003840038
10204400372990006139407251010010010000100100005005706908040018400374003738108338745101002001000020030000400374003711102011009910010010000100000007101161139479100001004003840038400384003840038
10204400373000006139407251010010010000100100005005706908140018400374003738108338745101002001000020030000400374003711102011009910010010000100000007101161139479100001004003840038400384003840038
10204400372990006139407251010010010000100100005005706908140018400374003738108338745101002001017220030000400374003711102011009910010010000100000007101161139479100001004003840038400384003840038
10204400373000006139407251010010010000100100005005706908140018400374003738108338745101002001000020030000400374003711102011009910010010000100000037101161139479100001004003840038400384003840038

1000 unrolls and 10 iterations

Result (median cycles for code): 4.0037

retire (01)cycle (02)031e1f3f4e51inst issue (52)~issue int (53)~issue fp/simd (54)~dispatch int (56)~dispatch fp/simd (57)huge thing int (59)huge thing fp/simd (5b)60696d6edispatch stall (70)scheduler rewind (75)scheduler stall (76)~dispatch op (78)~map op int (7c)~map op fp/simd (7e)~map lookup int (7f)~map lookup fp/simd (81)8283pipeline redirect (84)85inst all (8c)inst branch (8d)inst branch taken (90)inst b.cc (94)inst integer (97)inst neon or fp (9a)9fa0a1a8a9acc2cfd5d6ddinst fetch restart (de)e0? int output thing (e9)? fp/simd (ee)gpr retires (ef)f5f6f7f8fd
100244003730030044139407251001012100121010000505706908140018400374008538130338767100102010000203000040037400371110021109101010000100000006404165539473010000104003840038400384003840038
1002440037300006139407251001010100001010000505706908140018400374003738130338767100102010000203000040037400371110021109101010000100000006406166539473010000104003840038400384003840038
1002440037300006139407251001010100001010000505706908140018400374003738130338767100102010000203000040037400371110021109101010000100000006406166539473010000104003840038400384003840038
1002440037300006139407251001010100001010000505706908140018400374003738130338767100102010000203000040037400371110021109101010000100000006406166539473010000104003840038400384003840038
1002440037300006139407251001010100001010000505706908140018400374007138130338767100102010000203000040037400371110021109101010000100004906406165639896010000104003840038400384003840038
1002440037300006139407251001010100001010000505706908140018400374003738130338767100102010000203000040037400371110021109101010000100000006406165639473010000104003840038400384003840038
1002440037300006139407251001010100001010000505706908140018400374003738130338767100102010000203000040037400371110021109101010000100010006406166539473010000104003840038400384003840038
100244003730012306139407251001010100001010000505706908140018400374003738130338767100102010000203000040037400371110021109101010000100000006406166639473010000104003840038400384003840038
1002440037300006139407251001010100001010000505706908140018400374003738130338767100102010000203000040037400371110021109101010000100000006406164639473010000104003840038400384003840038
1002440037299006139407251001010100001010000505706908140018400374003738130338767100102010000203000040037400371110021109101010000100000006406166539473010000104003840038400384003840038

Test 5: throughput

Count: 8

Code:

  movi v0.16b, 0
  fmla d0, d8, v9.d[1]
  movi v1.16b, 0
  fmla d1, d8, v9.d[1]
  movi v2.16b, 0
  fmla d2, d8, v9.d[1]
  movi v3.16b, 0
  fmla d3, d8, v9.d[1]
  movi v4.16b, 0
  fmla d4, d8, v9.d[1]
  movi v5.16b, 0
  fmla d5, d8, v9.d[1]
  movi v6.16b, 0
  fmla d6, d8, v9.d[1]
  movi v7.16b, 0
  fmla d7, d8, v9.d[1]
  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 (01)cycle (02)031e3a3f51inst issue (52)~issue int (53)~issue fp/simd (54)~dispatch int (56)~dispatch fp/simd (57)huge thing int (59)huge thing fp/simd (5b)60696d6escheduler rewind (75)scheduler stall (76)~dispatch op (78)~map op int (7c)~map op fp/simd (7e)~map lookup int (7f)~map lookup fp/simd (81)8283pipeline redirect (84)85inst all (8c)inst branch (8d)inst branch taken (90)inst b.cc (94)inst integer (97)inst neon or fp (9a)9fa1a8accfd5d6ddinst fetch restart (de)e0? fp/simd (ee)gpr retires (ef)f5f6f7f8fd
1602042008915000402580100100800001008000050064000012004620065200653238010020080000200240000200652006511160201100991001001600001000001011121611200621600001002006620066200662006620066
16020420065150007052580100100800001008000050064000012004620065200653238010020080000200240000200652006511160201100991001001600001000001011111611200621600001002006620066200662006620066
1602042006515000402580100100800001008000050064000012004620065200653238010020080000200240000200652006511160201100991001001600001000001011111611200621600001002006620066200662006620066
1602042006515000402580100100800001008000050064000012004620065200653238010020080140200240000200652006511160201100991001001600001000001011111611200621600001002006620066200662006620066
1602042006515000402580100100800001008000050064000012004620065200653238010020080000200240000200652006511160201100991001001600001000001011111611200621600001002006620066200662006620066
1602042006515100402580100100800001008000050064000002004620065200653238010020080000200240000200652006511160201100991001001600001000001011111611200621600001002006620066200662006620066
1602042006515100402580100100800001008000050064000012004620065200653238010020080000200240000200652006511160201100991001001600001000001011111611200621600001002006620066200662006620066
1602042015715100402580100100800001008000050064000012004620065200653238010020080000200240000200652006511160201100991001001600001000001011111611200621600001002006620066200662006620066
1602042006515000402580100100800001008000050064000012004620065200653238010020080000200240000200652006511160201100991001001600001000001011111611200621600001002006620066200662006620066
1602042006515100402580100100800001008000050064000012004620065200653238010020080000200240000200652006511160201100991001001600001000001014311611200621600001002006620066200662006620066

1000 unrolls and 10 iterations

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

retire (01)cycle (02)030408090b181e3a3f51inst issue (52)~issue int (53)~issue fp/simd (54)~dispatch int (56)~dispatch fp/simd (57)huge thing int (59)huge thing fp/simd (5b)5f6061696d6escheduler rewind (75)scheduler stall (76)~dispatch op (78)~map op int (7c)~map op fp/simd (7e)~map lookup int (7f)~map lookup fp/simd (81)8283pipeline redirect (84)85inst all (8c)inst branch (8d)inst branch taken (90)inst b.cc (94)inst integer (97)inst neon or fp (9a)9fa1a8a9accfd0d2icache miss (d3)itlb miss (d4)d5d6d9dadbddinst fetch restart (de)e0? int output thing (e9)eaec? fp/simd (ee)gpr retires (ef)f5f6f7f8fd
16002420076150100004807222780012128000012800006264000011020035200632005432380012208000020240000200542005411160021109101016000010010010050841031271112616200512211160000102005520055200552005520055
1600242005415110100012302780012128000012800006264000011520035200542005432380012208000020240000200542005411160021109101016000010000010048851126271122326200512211160000102005520055200552005520055
160024200541501010001105527800121280000128000062640000115200352005420054323800122080000202400002005420054111600211091010160000100530310049851125271112625200512211160000102005520055200552005520055
16002420054150101000010429800121280000128000062640000015200442005420063323800122080000202400002006320063111600211091010160000100000100481182129363222726200512211160000102006420064200642006420064
1600242006315010100009829800121280000128000062640000115200352006320063323800122080000202400002006320063111600211091010160000100000100511172125273221825200602411160000102005520055200552005520055
1600242005415010100017852780012128000012800006264000011520035200542005432380012208000020240000200542005411160021109101016000010000010046872127361112415200512211160000102005520055200552005520055
1600242006315010100001042980012128000012800006264000011520035200542005432380012208000020240000200542005411160021109101016000010000010049871126271112648200512212160000102006420064200642006420055
1600242005415010100011102780012128000012800006264000011520035200542005432380012208000020240000200542005411160021109101016000010000010049871126271111727200512411160000102005520055200552005520055
1600242005415010100001042780012128000012800006264000011520044200542005432380012208000020240000200542005411160021109101016000010000010038871117271112516200512211160000102005520055200642005520055
1600242005415010100009227800121280000128000062640000015200352005420054323800122080000202400002005420054111600211091010160000100100100491172027363122425200602411160000102005520055200552005520055

Test 6: throughput

Count: 12

Code:

  fmla d0, d12, v13.d[1]
  fmla d1, d12, v13.d[1]
  fmla d2, d12, v13.d[1]
  fmla d3, d12, v13.d[1]
  fmla d4, d12, v13.d[1]
  fmla d5, d12, v13.d[1]
  fmla d6, d12, v13.d[1]
  fmla d7, d12, v13.d[1]
  fmla d8, d12, v13.d[1]
  fmla d9, d12, v13.d[1]
  fmla d10, d12, v13.d[1]
  fmla d11, d12, v13.d[1]
  movi v12.16b, 13
  movi v13.16b, 14

(fused SUBS/B.cc loop)

100 unrolls and 100 iterations

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

retire (01)cycle (02)03181e1f373f4e51inst issue (52)~issue int (53)~issue fp/simd (54)~dispatch int (56)~dispatch fp/simd (57)huge thing int (59)huge thing fp/simd (5b)60696b6d6edispatch stall (70)scheduler rewind (75)scheduler stall (76)~dispatch op (78)~map op int (7c)~map op fp/simd (7e)~map lookup int (7f)~map lookup fp/simd (81)8283pipeline redirect (84)85inst all (8c)inst branch (8d)inst branch taken (90)inst b.cc (94)inst integer (97)inst neon or fp (9a)9fa0a8acc2c5cfd5d6ddinst fetch restart (de)e0? int output thing (e9)? fp/simd (ee)gpr retires (ef)f5f6f7f8fd
1202044003930000004139961251201011001200001001200005005856942040020041688400392657832664912010020012000020036000041688400391112020110099100100120000100000007610516114003001200001004004041689400404004040040
12020440039312000040936348251201001001200011001200005005630640041669040039400392493232499712010020012000020036000040039400391112020110099100100120000100000007610116114003001200001004004041689400404004040040
12020442470300000016836348251201001001200011001200005005856942140020041688400392493232499712010020012000020036000040039416881112020110099100100120000100000007610116114003001200001004004040040416894004041689
1202044003931200006549961251201011001200001001200005005856942040020041687400392657832664612010020012000020036000041687400391112020110099100100120000100000007610116114006901200001004004040040416884004041688
1202044003930000025299961251201001001200001001200005005630640140020040039416872493232499712010020012000020036000040039416881112020110099100100120000100000007610116114168201200001004004041689400404004040040
1202044003931200003639961251201011001200001001200005005860488140020041688400392657732664412010020012000020036000041686400391112020110099100100120000100000007610116114003001200001004168940040400404168940040
1202044168830000015389961251201011001200001001200005005860488140020041687400392657932664412010020012000020036000041686400391112020110099100100120000100000007610116114003001200001004004041689400404004040040
120204400903000330017319961251201001001200001001200005005630640141669041691400392493232499712010020012000020036000040039400391112020110099100100120000100000007610116114003001200001004004041689400404004040040
12020440039313000051735689251201001001200031001200005005630640141669040039400392493232499712010020012000020036000040039400391112020110099100100120000100000007610116114167901200001004004041687400404004040040
12020440039312000049536348251201001001200011001200005005630640141668040039400392493232499712010020012000020036000040039416882112020110099100100120000100000007610116114003001200001004004041689400404004040040

1000 unrolls and 10 iterations

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

retire (01)cycle (02)0307080a0b18191e1f373a3f4e51inst issue (52)~issue int (53)~issue fp/simd (54)~dispatch int (56)~dispatch fp/simd (57)huge thing int (59)huge thing fp/simd (5b)6061696d6edispatch stall (70)scheduler rewind (75)scheduler stall (76)~dispatch op (78)~map op int (7c)~map op fp/simd (7e)~map lookup int (7f)~map lookup fp/simd (81)8283pipeline redirect (84)85inst all (8c)inst branch (8d)inst branch taken (90)inst b.cc (94)inst integer (97)inst neon or fp (9a)9fa0a1a6a8a9acc5cfd0d2d5d6ddinst fetch restart (de)e0? int output thing (e9)? fp/simd (ee)gpr retires (ef)f5f6f7f8fd
120024417113160000000000388996125120010101200001012000050563064000400204003940039249553250191202122012000020360000400394003911120021109101012000010000000075200019161716400300120000104004040040400404004040040
120024400393000000000000417996125120010101200001012000050563064000400204003940039249553250191200102012000020360000400394003911120021109101012000010000000075200016161817400300120000104004040040400404004040040
120024400393000000000000424996125120010101200001012000050563064000400204003940039249553250191200102012000020360684400394003911120021109101012000010000000075200017161615400300120000104004040040400404004040040
120024400393000000000010103996125120013101200001012000050563064000400204003940039249553250191200102012000020360000400394003911120021109101012000010000000075200017161712400300120000104004040040400404004040040
120024400393000000000000403996125120010101200011012000050563064000400204003940039249553250191200102012000020360000400394003911120021109101012000010000000075200016161616400301120000104004040040400404004040040
120024400393000000000000518996125120010101200001012000050563064000400204003940039249553250191200102012000020360000400394003911120021109101012000010000000075200019161818416781120000104109741670410304200241156
1200244130631241119113387925110162440223412086613120788131217648257372230041960410004191926162772635212198120122194203660034089041471111120021109101012000010222046978077580022972119416591120000104179741336412674125041755
12002441823311012111109368801017732348525012086611120864131211845057670670041744416434186926496782617812198120122010203660064138141282121120021109101012000010000000075200017161817400300120000104004040040424714004040040
1200244003930000000000001891996125120010101200001012000050563064000416674003940039249553250191200102012000020360000400394003911120021109101012000010000000075200018161817400300120000104004040040400404004040040
120024400393000000000000455996125120010101200001012000050563064000400204003940039249553250191200102012000020360000400394003911120021109101012000010000000075200017161818400300120000104004040040400404004040040