Apple M1 Microarchitecture Research by Dougall Johnson

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

BSL (vector, 16B)

Test 1: uops

Code:

  bsl v0.16b, v1.16b, v2.16b
  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)031e3f4e51inst issue (52)~issue fp/simd (54)~dispatch fp/simd (57)huge thing fp/simd (5b)60696d6edispatch 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
1004203715014516872510001000100026468002018203720371572318951000100030002037203711100110000073116111787100020382038203820382038
1004203715072016872510001000100026468012018203720371572318951000100030002037203711100110000073116111787100020382038203820382038
100420371506116872510001000100026468012018203720371572318951000100030002037203711100110000073116111787100020382038203820382038
100420371506116872510001000100026468002018203720371572318951000100030002037203711100110000073116111787100020382038203820382038
100420371506116872510001000100026468012018203720371572318951000100030002037203711100110000073116111787100020382038203820382038
100420371506116872510001000100026468012018203720371572318951000100030002037203711100110000073116111787100020382038203820382038
100420371506116872510001000100026468012018203720371572318951000100030002037203711100110000073116111787100020382038203820382038
100420371606116872510001000100026468012018203720371572318951000100030002037203711100110000073116111787100020382038203820382038
100420371506116872510001000100026468012018203720371572318951000100030002037203711100110000073116111787100020382038203820382038
100420371506116872510001000100026468012018203720371572318951000100030002037203711100110000373116111787100020382038203820382038

Test 2: Latency 1->1

Code:

  bsl v0.16b, v1.16b, v2.16b
  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): 2.0037

retire (01)cycle (02)030b191e3a3f4e51inst 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)9fa0a8accfd0d5d6ddinst fetch restart (de)e0? fp/simd (ee)gpr retires (ef)f5f6f7f8fd
10204200371500000611968725101001001000010010000500284768002001820037200371842231874510100200100002003000020037200371110201100991001001000010000071014163319791100001002003820038200382003820038
10204200371500000611968725101001001000010010000500284768012001820037200371842231874510100200100002043000020037200371110201100991001001000010000071013163319791100001002003820038200382003820038
10204200371500000611968725101001001000010010000500284768002001820037200371842231874510100200100002003000020037200371110201100991001001000010000071213163319791100001002003820038200382003820038
10204200371500000611968725101001001000010010000500284768012001820037200371842231874510100200100002003000020037200371110201100991001001000010000071013163319791100001002003820038200382003820038
10204200371500000611968725101001001000010010000500284768012001820037200371842231874510100200100002003000020037200371110201100991001001000010000071013163319791100001002003820038200382003820038
10204200371500000611968725101001001000010010000500284768002001820037200371842231874510100200100002003000020037200371110201100991001001000010000071013163319791100001002003820038200382003820038
102042003715000007261968725101001001000010010000500284768012001820037200371842231874510100200100002003000020037200371110201100991001001000010000071014163319791100001002003820038200382003820038
10204200371500000611968725101001001000010010000500284768002001820037200371842231874510100200100002003000020037200371110201100991001001000010000071013163319791100001002003820038200382003820038
10204200371500000611968725101001001000010010000500284768002001820037200371842231874510100200100002003000020037200371110201100991001001000010000071014164319791100001002003820038200382003820038
10204200371500000611968725101001001000010010000500284768002001820037200371842231874510100200100002003000020037200371110201100991001001000010000071013163419791100001002003820038200382003820038

1000 unrolls and 10 iterations

Result (median cycles for code): 2.0037

retire (01)cycle (02)030b191e1f3f4e51inst 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)9fa8accfd5d6ddinst fetch restart (de)e0? fp/simd (ee)gpr retires (ef)f5f6f7f8fd
10024200371500000611968725100101010000101000050284768012001820037200371844431876710010201000020300002003720037111002110910101000010118640316221978510000102003820038200382003820038
1002420037150000061196872510010101000010103045028476801200182003720037184443187671001020100002030000200372003711100211091010100001000640324221978510000102003820038200382003820038
1002420037150000061196872510010101000010100005028476801200182003720037184443187671001020100002030000200372003711100211091010100001013640216221982410000102003820038200382003820038
100242003715010010461196872510010101000010100005028476801200182003720037184443187671001020100002030000200372003711100211091010100001010640216221978510000102003820038200382003820083
1002420037150000061196872510010101000010100005028476800200182003720037184443187671001020100002030000200372003711100211091010100001010640216221978510000102003820038200382003820038
1002420037150000061196872510010101000010100005028476801200182003720037184443187671001020100002030000200372003711100211091010100001000640216221978510000102003820038200382003820038
1002420037150010061196872510010101000010100005028476801200182003720037184483187671001020100002030000200372003711100211091010100001000640216221978510000102003820038200382003820038
10024200371500000251196872510010101000010100005028476801200182003720037184443187671001020100002030000200372003711100211091010100001000640216321978510000102003820038200382003820038
1002420037150000061196872510010101000010100005028476800200182003720037184443187671001020100002030000200372003711100211091010100001000640216221978510000102003820038200382003820038
10024200371500012061196872510010101000010100005028476800200182003720037184443187671001020100002030000200372003711100211091010100001000640216221978510000102003820038200382003820038

Test 3: Latency 1->2

Code:

  bsl v0.16b, v0.16b, v1.16b
  movi v0.16b, 1
  movi v1.16b, 2

(fused SUBS/B.cc loop)

100 unrolls and 100 iterations

Result (median cycles for code): 2.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)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)9fa8acbranch mispredict (cb)cfd5d6ddinst fetch restart (de)e0? fp/simd (ee)gpr retires (ef)f5f6f7f8fd
1020420037150061196872510100100100001001000050028476800200182003720037184223187451010020010000200300002003720037111020110099100100100001000007101161119791100001002003820038200382003820038
1020420037150061196872510100100100001001000050028476800200182003720037184223187451010020010000200300002003720037111020110099100100100001000007101161119791100001002003820038200382003820038
1020420037150061196872510100100100001001000050028476801200182003720037184223187451010020010000200300002003720037111020110099100100100001000007101161119791100001002003820038200382003820038
1020420037150061196872510100100100001001000050028476801200182003720037184223187451010020010000200300002003720037111020110099100100100001000007101161119791100001002003820038200382003820038
1020420037150061196872510100100100001001000050028476800200182003720037184223187451010020010000200300002003720037111020110099100100100001000007101161119791100001002003820038200382003820038
1020420037150061196872510100100100001001000050028476800200182003720037184223187451010020010000200300002003720037111020110099100100100001000007101161119791100001002003820038200382003820038
1020420037150061196872510100100100001001000050028476800200182003720037184223187451010020010000200300002003720037111020110099100100100001000007411161119791100001002003820038200382003820038
10204200371500103196872510100100100001001000050028476800200182003720037184223187451010020010000200300002003720037111020110099100100100001000007101161119791100001002003820038200382003820038
1020420037150061196872510100100100001001000050028476801200182003720037184223187451010020010000200300002003720037111020110099100100100001000007101161119791100001002003820038200382003820038
1020420037150061196872510100100100001001000050028476801200182003720037184223187451010020010000200300002003720037111020110099100100100001004007101161119791100001002003820038200382003820038

1000 unrolls and 10 iterations

Result (median cycles for code): 2.0037

retire (01)cycle (02)0308090a0b18191e1f3f4e51inst 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)9fa0a1a6a8a9acc2branch mispredict (cb)cfd5d6ddinst fetch restart (de)e0? int output thing (e9)? fp/simd (ee)gpr retires (ef)f5f6f7f8fd
100242003715000000000611968725100101010000101000050284768002001820037200371844431876710010201000020300002003720037111002110910101000010000000006402162219785010000102003820038200382003820038
100242003715000000000611968725100101010000101000050284768002001820037200371844431876710010201000020300002003720037111002110910101000010000000006402162219785010000102003820038200382003820038
100242003715000000000611968725100101010000101000050284768002001820037200371844431876710010201000020300002003720037111002110910101000010000000006402162219785010000102003820038200382003820038
10024200371500000000010501968725100101010000101000050284768002001820037200371844431876710010201000020300002003720037111002110910101000010000000006402162219785010000102003820038200382003820038
1002420037150000000003461968725100101010000101000050284768012001820037200371844431876710010201000020300002003720037111002110910101000010000003016402162219998010000102003820038200382003820038
100242003715000000000611968725100101010000101000050284768002001820037200371844431876710010201000020300002003720037111002110910101000010000000006402162219785010000102003820038200382003820038
100242003715000000000611968725100101010000101000050284768002001820037200371844431876710010201000020300002003720037111002110910101000010000000006402162219785010000102003820038200382003820038
100242003715000000000611968725100101010000101000050284768002001820037200371844431876710010201000020300002003720037111002110910101000010000000006402162219785010000102003820038200382003820038
100242003715000000000611968725100101010000101000050284768002001820037200371844431876710010201000020300002003720037111002110910101000010000000006402162219785010000102003820038200382003820038
1002420037150000000001051968725100101010000101000050284768012001820037200371844431876710010201000020300002003720037111002110910101000010000000006402162219785010000102003820038200382003820038

Test 4: Latency 1->3

Code:

  bsl v0.16b, v1.16b, v0.16b
  movi v0.16b, 1
  movi v1.16b, 2

(fused SUBS/B.cc loop)

100 unrolls and 100 iterations

Result (median cycles for code): 2.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)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)9fa1a8accfd5d6ddinst fetch restart (de)e0? fp/simd (ee)gpr retires (ef)f5f6f7f8fd
102042003715015611968725101001001000010010000500284768012001820037200371842231874510100200100002003000020037200371110201100991001001000010000187101161119791100001002003820038200382003820038
1020420037150061196872510100100100001001000050028476801200182003720037184223187451010020010000200300002003720037111020110099100100100001000007101161119791100001002003820038200382003820038
10204200371500726196872510100100100001001000050028476801200182003720037184223187451010020010000200300002003720037111020110099100100100001000007101161119791100001002003820038200382003820038
102042003715057611968725101001001000010010000500284768012001820037200371842231874510100200100002003000020037200371110201100991001001000010001127101161119791100001002003820038200382003820038
1020420037150061196872510100100100001001000050028476801200182003720037184223187451010020010000200300002003720037111020110099100100100001000007101161119791100001002003820038200382003820038
1020420037150061196872510100100100001001000050028476801200182003720037184223187451010020010000200300002003720037111020110099100100100001000007101161119791100001002003820038200382003820038
1020420037150061196872510100100100001001000050028476801200182003720037184223187451010020010000200300002003720037111020110099100100100001000007101161119791100001002003820038200382003820038
10204200371501261196872510100100100001001000050028476801200212003720037184223187451010020010000200300002003720037111020110099100100100001000007101161119791100001002003820038200382003820038
1020420037150061196872510100100100001001000050028476801200182003720037184223187451010020010000200300002003720037111020110099100100100001000007101161119791100001002003820038200382003820038
102042003715012103196872510100100100001001000050028476801200182003720037184223187451010020010000200300002003720037111020110099100100100001000007102251319825100001002003820038201352003820038

1000 unrolls and 10 iterations

Result (median cycles for code): 2.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)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)9faccfd5d6ddinst fetch restart (de)e0? fp/simd (ee)gpr retires (ef)f5f6f7f8fd
1002420037150426119687251001010100001010000502847680120018200372003718444318767100102010000203000020037200371110021109101010000100640316331978510000102003820038200382003820038
100242003715015048719687251001010100001010000502847680120018200372003718444318767100102010000203000020037200371110021109101010000100640316331978510000102003820038200382003820038
100242003715006119687251001010100001010000502847680120018200372003718444318767100102010000203000020037200371110021109101010000100640316331978510000102003820038200382003820038
1002420037150156119687251001010100001010000502847680120018200372003718444318767100102010000203000020037200851110021109101010000100640316331978510000102003820038200382003820038
1002420037150306119687251001010100001010000502847680020018200372003718444318767100102010000203000020037200371110021109101010000100640316331978510000102003820038200382003820038
1002420037150126119687251001010100001010000502847680120054200372003718444318767100102010000203000020037200371110021109101010000100640316331978510000102003820038200382003820038
100242003715006119687251001010100001010000502847680120018200372003718444318767100102010000203000020037200371110021109101010000100640316331978510000102003820038200382003820038
100242003715006119687251001010100001010000502847680120018200372003718444318767100102010000203000020037200371110021109101010000100640316331978510000102003820038200382003820038
100242003715006119687251001010100001010000502847680120018200372003718444318767100102010000203000020037200371110021109101010000100640316331978510000102003820038200382003820038
100242003715006119687251001010100001010000502847680120018200372003718444318767100102010000203000020037200371110021109101010000100640316331978510000102003820038200382003820038

Test 5: throughput

Count: 8

Code:

  movi v0.16b, 0
  bsl v0.16b, v8.16b, v9.16b
  movi v1.16b, 0
  bsl v1.16b, v8.16b, v9.16b
  movi v2.16b, 0
  bsl v2.16b, v8.16b, v9.16b
  movi v3.16b, 0
  bsl v3.16b, v8.16b, v9.16b
  movi v4.16b, 0
  bsl v4.16b, v8.16b, v9.16b
  movi v5.16b, 0
  bsl v5.16b, v8.16b, v9.16b
  movi v6.16b, 0
  bsl v6.16b, v8.16b, v9.16b
  movi v7.16b, 0
  bsl v7.16b, v8.16b, v9.16b
  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)03080b18191e3f51inst 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)9fa6a8accficache miss (d3)d5d6daddinst fetch restart (de)e0? int output thing (e9)? fp/simd (ee)gpr retires (ef)f5f6f7f8fd
1602042009015000009382580100100800001008000050064000012004420063200633218010020080000200240000200632006311160201100991001001600001000001011402160222006001600001002006420064200642006420064
16020420063150000066082580100100800001008000050064000002004420063200633218010020080000200240000200632006311160201100991001001600001000001011404160222006001600001002006420064200642006420064
160204200631500000271222580100100800001008000050064000002004420063200633218010020080000200240000200632006311160201100991001001600001000001011202160222006001600001002006420064200642006420064
16020420063151000021382580100100800001008000050064000012004420063200633218010020080000200240405200632006311160201100991001001600001000001011202160222006001600001002006420064200642006420064
1602042006315000000382580100100800001008000050064000012004420063200633218010020080000200240000200632006311160201100991001001600001000001011202160222006001600001002006420064200642006420064
1602042006315000000382580100100800001008000050064000012004420063200633218010020080000200240000200632006311160201100991001001600001000001011202160222006001600001002006420064200642006420064
16020420063150000018382580100100800001008000050064000012004420063200633218010020080000200240000200632006311160201100991001001600001000001011202160222006001600001002006420064200642006420064
1602042006315000000382580100100800001008000050064000012004420063200633218010020080000200240000200632006311160201100991001001600001000001011202160222006001600001002006420064200642006420064
16020420063150000015382580100100800001008000050064000002004420063200633218010020080000200240000200632006311160201100991001001600001000001011202160222006001600001002006420064200642006420064
1602042006315000000382580100100800001008000050064000012004420063200633218010020080000200240000200632006311160201100991001001600001000001011202160222006001600001002006420064200642006420064

1000 unrolls and 10 iterations

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

retire (01)cycle (02)030a0b1e3f51inst 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)5f60696b6d6escheduler 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)9fa0a6a8a9accfd0d2icache miss (d3)d5d6d9dadbddinst fetch restart (de)e0? int output thing (e9)ea? fp/simd (ee)gpr retires (ef)f5f6f7f8fd
1600242009215000274425800121280000128000062640000012029102004920049321800122080000202400002004920049111600211091010160000100000010035622132021151120042215160000102004620046200462004620046
1600242004515000154425800121280000128000062640000112025702004520045321800122080000202400002004520045111600211091010160000100000010033311112021161120042215160000102004620046200462004620046
1600242004515000154425800121280000128000062640000112023902004520045321800122080000202400002004520045111600211091010160000100000010033311112021111620042215160000102004620046200462004620046
160024200451500004925800121280000128000062640000112019502004520053321800122080000202400002004520045111600211091010160000100000010029311620211101220042215160000102004620046200462004620046
16002420045150000442580012128000012800006264000011202410200452004532180012208000020240000200452004511160021109101016000010000001003331162021110620042215160000102004620046200462004620046
160024200451500012442580012128000012800006264000011201970200452004532180012208000020240000200492004911160021109101016000010000001003562292442251120046230160000102005020050200502005020050
160024200491500004425800121280000128000062640000112022702004520045321800122080000202400002004520045111600211091010160000100000010033311122021161120042215160000102004620046200462004620046
160024200451500018442580012128000012800006264000001202040200452004532180012208000020240000200452004511160021109101016000010000001003431172021161120042215160000102004620046200462004620046
16002420045150000263258001212800001280000626400001120207020045200453218001220800002024000020045200451116002110910101600001000000100343111020211111120042215160000102004620046200462004620046
1600242004515000184425800121280000128000062640000112021802004520045321800122080000202400002004520045111600211091010160000100000010034311112021111620042215160000102004620046200462004620046

Test 6: throughput

Count: 16

Code:

  bsl v0.16b, v16.16b, v17.16b
  bsl v1.16b, v16.16b, v17.16b
  bsl v2.16b, v16.16b, v17.16b
  bsl v3.16b, v16.16b, v17.16b
  bsl v4.16b, v16.16b, v17.16b
  bsl v5.16b, v16.16b, v17.16b
  bsl v6.16b, v16.16b, v17.16b
  bsl v7.16b, v16.16b, v17.16b
  bsl v8.16b, v16.16b, v17.16b
  bsl v9.16b, v16.16b, v17.16b
  bsl v10.16b, v16.16b, v17.16b
  bsl v11.16b, v16.16b, v17.16b
  bsl v12.16b, v16.16b, v17.16b
  bsl v13.16b, v16.16b, v17.16b
  bsl v14.16b, v16.16b, v17.16b
  bsl v15.16b, v16.16b, v17.16b
  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 (01)cycle (02)03081e373f4e51inst 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)9fa8acc5branch mispredict (cb)cdcfd5d6ddinst fetch restart (de)e0? fp/simd (ee)gpr retires (ef)f5f6f7f8fd
1602044008330100029025160140100160008100160023500128013214001940085400381999861998916012020016003220048009640038400381116020110099100100160000100001111011821600400351600001004003940039400754003940039
1602044007430100029025160108100160081100160021500128013214001940099400381997762005016012020016003220048009640038400381116020110099100100160000100001111011801600400821600001004003940039400394003940075
1602044003830000055025160108100160040100160020500543842304001940038400991997761998916012020016003220048009640038400381116020110099100100160000100001111013601600400711600001004003940039400754008640039
160204400383000004353425160108100160058100160020500543842304001940038400991997761998916012020016003220048009640038400991116020110099100100160000100001111011801600400351600001004003940039400394007540039
1602044003830000029025160108100160008100160020500536298914001940038400381997761998916012020016003220048009640038400381116020110099100100160000100001111011801600400961600001004003940039400394003940039
1602044003830000029025160108100160008100160020500128013214008040099400381997761998916012020016003220048009640038400381116020110099100100160000100001111011801600400351600001004003940039400394003940039
1602044003830000029025160108100160008100160020500128013214001940038400382001261998916012120016003220048009640038400381116020110099100100160000100001111011801600400961600001004010040039400394003940100
1602044009930000029025160108100160009100160021500128013204001940038400381997761998916012020016003220048009640038400851116020110099100100160000100001111011801600400351600001004003940039400394007540039
1602044003830000029025160108100160008100160020500128013214001940038400381997761998916012020016003220048009640099400771116020110099100100160000100001111011801600400351600001004003940039400394003940100
1602044003830000029025160108100160008100160020500128013214002040038400381997762003616012020016003220048009640038400381116020110099100100160000100001111011801600400351600001004003940075400394003940039

1000 unrolls and 10 iterations

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

retire (01)cycle (02)0304080b18191e1f373a3f4e51inst 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)5f6061696d6edispatch 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)9fa0a1a6a8a9acc2c5cdcfd0d2icache miss (d3)d5d6d9dadbddinst fetch restart (de)e0? int output thing (e9)eaeb? fp/simd (ee)gpr retires (ef)f5f6f7f8fd
1600244013530010000003204502516005210160000101600005012800001110400564003840067200150320018160010201600002048000040038400671116002110910101600001000000000010024132181621255400350408160000104003940113400574004040082
1600244003830000000000067325160010101600011016000050128000041104002040081400561999603200181600102016000020480000400384008211160021109101016000010000000000100221362416412444003502016160000104003940039400394011340039
1600244003830000000000067025160060101600001016000050128000001104001940038401122003713320019160010201600002048000040038400381116002110910101600001000000000010072136151621143401090208160000104003940064401134003940039
16002440038300000000000671492516011610160067101600005012800001110400934011240038199960320092160010201600002048000040038401121116002110910101600001000000000010024165241622166400780408160000104003940039400824003940058
160024400812990000000005102516001010160000101600005047289515110400194003940112200060320036160010201600002048000040038400381116002110910101600001000000000010024135261641243401090208160000104003940039400394007640039
16002440038300000000000732025160010101600001016000050128000031104001940038400671999603200611600102016000020480000400634006311160021109101016000010000000000100221352416212664008402016160000104008240039400394008240082
16002440038300000000000259390224161645101612471016133955313644641104068140738409152042642592020216124920161715204847284072640820111160021109101016000010243024600400102221351511721110144040112010160000104086640716407884089541043
160024414503040011010133279234601943346242161624111616051216179565305787011104075140785405312040610482060916145120161709204852144077740716111160021109101016000010403125548400102431351412821149406202207160000104105341122410734093641034
16002441139306010131217161144370024881017285161891141620221016091566338575441104090641410409492034612565208531611372016150820485025411784126714116002110910101600001000000599340010167166241621144401090208160000104003940115400564003940039
160024400383000000000006302516001010160042101600005012800005110400194003840112199960320018160010201600002048000040038400871116002110910101600001000000000010022135151621855400350208160000104003940076400394011340113