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, 8B)

Test 1: uops

Code:

  bsl v0.8b, v1.8b, v2.8b
  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
100420371506116872510001000100026468012018203720371572318951000100030002037203711100110000073216111787100020382038203820382038
100420371506116872510001000100026468012018203720371572318951000100030002037203711100110000073116111787100020382038203820382038
100420371506116872510001000100026468012018203720371572318951000100030002037203711100110000073116111787100020382038203820382038
100420371506116872510001000100026468012018203720371572318951000100030002037203711100110000073116111787100020382038203820382038
100420371506116872510001000100026468012018203720371572318951000100030002037203711100110001073116111787100020382038203820382038
100420371606116872510001000100026468012018208420371572318951000100030002037203711100110000073116111787100020382038203820382038
100420371506116872510001000100026468012018203720371572318951000100030002037203711100110000073116111787100020382038203820382038
100420371506116872510001000100026468012018203720371572318951000100030002037203711100110000073116111787100020382038203820382038
100420371506116872510001000100026468012018203720371572318951000100030002037203711100110000073116111787100020382038203820382038
100420371506116872510001000100026468012018203720371572318951000100030002037203711100110000073116111787100020382038203820382038

Test 2: Latency 1->1

Code:

  bsl v0.8b, v1.8b, v2.8b
  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)031e3a3f4e5051inst 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)696b6d6edispatch 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)9fa8accfd0d5d6ddinst fetch restart (de)e0? fp/simd (ee)gpr retires (ef)f5f6f7f8fd
10204200371500061196872002125101001001000010010000500284768020018020037200371842413187951025520010000200300002013420178111020110099100100100001000071014162319825100001002003820038200382003820038
102042003715000611968702510100100100001001000050028476802001802003720037184223187451010020010000200300002003720037111020110099100100100001000071012162219791100001002003820038200382003820038
102042003715000941968702510100100100001001000050028476802001802003720037184223187451010020010000200300002003720037111020110099100100100001002071012162219791100001002003820038200382003820038
102042003715000611968702510100100100001001000050028476802001802003720037184223187451010020010000200300002003720037111020110099100100100001006071012162219791100001002003820038200382003820038
102042003715000611968702510100100100001001000050028476802001802003720037184223187451010020010000200300002003720037111020110099100100100001003071012163219791100001002003820038200382003820038
102042003715000611968702510100100100001001000050028476802001802003720037184223187451010020010000200300002003720037111020110099100100100001001518671012162219791100001002003820038200382003820038
1020420037150150611968702510100100100001001000050028476802001802003720037184223187451010020010000200300002003720037111020110099100100100001000071012162219791100001002003820038200382003820038
102042003715000611968702510100100100001001000050028476802001802003720037184223187451010020010000200300002003720037111020110099100100100001003071012162319791100001002003820038200382003820038
102042003715001611968702510100100100001001000050028476802001802003720037184223187451010020010000200300002003720037111020110099100100100001000071012162219791100001002003820038200382003820038
102042003715000611968702510100100100001001000050028476802001802003720037184223187451010020010000200300002003720037111020110099100100100001004971012162219791100001002003820038200382003820038

1000 unrolls and 10 iterations

Result (median cycles for code): 2.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)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)9fa0a1a8accfd5d6ddinst fetch restart (de)e0? fp/simd (ee)gpr retires (ef)f5f6f7f8fd
100242003715000168196762510010101000010100005028476800200180200372003718444318767100102010000203000020037200371110021109101010000100000640616231978510000102003820038200382003820038
10024200371500061196872510010101000010100005028476800200180200372003718444318767100102010000203000020037200371110021109101010000100000640216221978510000102003820038200382003820038
10024200371500061196872510010101000010100005028476801200180200372003718444318767100102010000203000020037200371110021109101010000100000640216221978510000102003820038200382003820038
10024200371500061196872510010101000010100005028476800200180200372003718444318767100102010000203000020037200371110021109101010000100000640416221978510000102003820038200382003820038
1002420037150021149196872510010101000010100005028476800200180200372003718444318767100102010000203000020037200371110021109101010000100003640316221978510000102013220038200382003820038
1002420037150106119687251001010100001010000502847680020018020037200371844431876710010201000020300002003720037111002110910101000010000156640216221978510000102003820038200382003820038
10024200371500061196872510010101000010106085028476800200180200372003718444318767100102010000203000020037200371110021109101010000100450640216221978510000102003820038200382003820038
10024200371500061196872510010101000010100005028476800200180200372003718444318767100102010000203000020037200371110021109101010000100063640216221978510000102003820038200382003820038
10024200371500061196872510010101000010100005028476800200180200372003718444318767100102010000203000020037200371110021109101010000100050640216221978510000102003820038200382003820038
10024200371500061196872510010101000010100005028476800200180200372003718444318767100102010000203000020037200371110021109101010000100020640216221978510000102003820038200382003820038

Test 3: Latency 1->2

Code:

  bsl v0.8b, v0.8b, v1.8b
  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)9fa8acc5branch mispredict (cb)cdcfd5d6ddinst fetch restart (de)e0? fp/simd (ee)gpr retires (ef)f5f6f7f8fd
1020420037150061196872510100100100001001000050028476801200182003720037184296187411010020010008200300242003720037111020110099100100100001004691117170160019801100001002003820038200382003820038
1020420037150061196872510100100100121001000050028476801200182003720037184297187401010020010008200300242003720037111020110099100100100001008121117170160019801100001002003820038200382003820038
1020420037150053619687251010010010000100100006262847680120018200372003718429618740101002001000820030024200372003711102011009910010010000100001117390160019802100001002003820038200382003820038
102042003715006119687251010010010000100100005002847680120018200372003718429718740101002001000820030024200372003711102011009910010010000100001117170160019801100001002003820038200382003820038
102042003715006119687251010010010000100100005002847680120018200372003718429718740101002001000820030024200372003711102011009910010010000100060007101161119791100001002003820038200382003820038
102042003715006119687251010010010000100100005002847680120018200372003718422318745101002001000020030000200372003711102011009910010010000100000007101161119791100001002003820038200382003820038
102042003715006119687251010010010000100100005002847680120018200372003718422318745101002001000020030000200372003711102011009910010010000100000007101161119791100001002003820038200382003820038
102042003715006119687251010010010000100100005002847680120018200372003718422318745101002001000020030000200372003711102011009910010010000100000007101161119791100001002003820038200382003820038
102042003715006119687251010010010000100100005002847680120018200372003718422318745101002001000020030000200372003711102011009910010010000100000007101161119791100001002003820038200382003820038
102042003715006119687251010010010000100100005002847680120018200372003718422318745101002001000020030000200372003711102011009910010010000100000007101161119791100001002003820038200382003820038

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)9fa8a9accfd5d6ddinst fetch restart (de)e0? fp/simd (ee)gpr retires (ef)f5f6f7f8fd
10024200371500611968725100101010000101000050284768002001820037200371844431876710010201000020300002003720037111002110910101000010100640216221978510000102003820038200382003820038
10024200371500821968725100101010000101000050284768002001820037200371844431876710010201000020300002003720037111002110910101000010000640216221978510000102003820038200382003820038
10024200371500611968725100101010000101000050284768002001820037200371844431876710010201000020300002003720037111002110910101000010000640216221978510000102003820038200382003820038
10024200371500611968725100101010000101000050284768002001820037200371844431876710010201000020300002003720037111002110910101000010100640216221978510000102008420038200852003820038
10024200371500611968725100101010000101000050284768002001820037200371844431876710010201000020300002003720037111002110910101000010000640216221978510000102003820038200382003820038
10024200371500611968725100101010000101000050284768002001820037200371844431876710010201000020300002003720037111002110910101000010000640216221978510000102003820038200382003820038
10024200371500611968725100101010000101000050284768012001820037200371844431876710010201000020300002003720037111002110910101000010800640216221978510000102003820038200382003820038
10024200371500611968725100101010000101000050284768002001820037200371844431876710010201000020300002003720037111002210910101000010003640216221978510000102003820038200382003820038
10024200371500611968725100101010000101000050284768002001820037200371844431876710010201000020300002003720037111002110910101000010000640216221978510000102003820038200382003820038
10024200371500611968725100101010000101000050284768012001820037200371844431876710010201000020300002003720037111002110910101000010000640216221978510000102003820038200382003820038

Test 4: Latency 1->3

Code:

  bsl v0.8b, v1.8b, v0.8b
  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)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)9fa7a8accfd5d6ddinst fetch restart (de)e0? int output thing (e9)? fp/simd (ee)gpr retires (ef)f5f6f7f8fd
1020420037150005361968725101001001000010010000500284768012001820037200371842231874510100200100002003000020037200371110201100991001001000010000071021622197910100001002003820038200382003820038
102042003715000611968725101001001000010010000500284768002001820037200371842231874510100200100002003000020037200371110201100991001001000010001071023322197910100001002003820038200382003820038
1020420037150012611968725101001001000010010000500284768002001820037200371842231874510100200100002003000020037200371110201100991001001000010000371021622197910100001002008520038200382003820182
102042003715000611968725101001001000010010000500284768012001820037200371842231874510100200100002003000020037200371110201100991001001000010001071021622197910100001002003820038200382003820038
102042003715000611968725101001001000013110000500284768012001820037200371842231874510100200100002003000020037200371110201100991001001000010002371021622197910100001002003820038200382003820038
102042003715000611968725101001001000010010000500284768002001820037200371842231874510100200100002003000020037200371110201100991001001000010000071021622197910100001002003820038200382003820038
102042003715000611968725101001001000010010000500284768012001820085200371842231874510100200100002003000020037200371110201100991001001000010001371023422197913100001002003820087200382003820038
102042003715010611968725101001001000010010000500284768012001820037200371842231874510100200100002003000020037200371110201100991001001000010001071021622197910100001002003820038200382003820038
102042003715000611968725101001001000010010000500284768002001820037200371842231874510100200100002003000020037200371110201100991001001000010001071021622197910100001002003820038200382003820038
1020420037150001031968725101001001004810010000500284768002001820037200371842231874510100200100002003000020037200371110201100991001001000010002071021622197910100001002003820038200382003820038

1000 unrolls and 10 iterations

Result (median cycles for code): 2.0037

retire (01)cycle (02)030818191e1f3f4e51inst 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)696d6edispatch 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? int output thing (e9)? fp/simd (ee)gpr retires (ef)f5f6f7f8fd
100242003715500000715196872510010101000013100005028476802001820037200371844431876710010201000020300002003720037111002110910101000010001036402163219785010000102003820038200382003820038
10024200371500000061196872510010101000010100005028476802001820037200371844431876710010201000020300002003720037111002110910101000010000006402162219785010000102003820038200382003820038
10024200371500000061196872510010101000010100005028476802001820037200371844431876710010201000020300002003720037111002110910101000010000006402162219785010000102003820038200382003820038
10024200371500000061196872510010101000010100005028476802001820037200371844431876710010201000020300002003720037111002110910101000010000006402162219785010000102003820038200382003820038
10024200371500000061196872510010101000010100005028476802001820037200371844431876710010201000020300002003720037111002110910101000010001006402162219785010000102003820038200382003820038
10024200371500000061196762510010101000010100005028476802001820037200371844431876710010201000020300002003720037111002110910101000010000006402162219785010000102003820038200382003820038
10024200371500000061196872510010101000010100005028476802001820037200371844431876710010201000020300002003720037111002110910101000010001006402162219785010000102003820038200382003820038
10024200371500000061196872510010101000010100005028476802001820037200371844431876710010201000020300002003720037111002110910101000010001006402162219785010000102003820038200382003820038
10024200371500009061196872510010101000010100005028476802001820037200371844431876710010201000020300002003720037111002110910101000010001006402162219785010000102003820038200382003820038
10024200371500000061196872510010101000010100005028476802001820037200371844431876710010201000020300002003720037111002110910101000010000006402162219785010000102003820038200382003820038

Test 5: throughput

Count: 8

Code:

  movi v0.16b, 0
  bsl v0.8b, v8.8b, v9.8b
  movi v1.16b, 0
  bsl v1.8b, v8.8b, v9.8b
  movi v2.16b, 0
  bsl v2.8b, v8.8b, v9.8b
  movi v3.16b, 0
  bsl v3.8b, v8.8b, v9.8b
  movi v4.16b, 0
  bsl v4.8b, v8.8b, v9.8b
  movi v5.16b, 0
  bsl v5.8b, v8.8b, v9.8b
  movi v6.16b, 0
  bsl v6.8b, v8.8b, v9.8b
  movi v7.16b, 0
  bsl v7.8b, v8.8b, v9.8b
  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)031e3f51inst 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)6061696d6escheduler 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)9fa8a9accfd0d2d5d6ddinst fetch restart (de)e0? fp/simd (ee)gpr retires (ef)f5f6f7f8fd
160204200891500382580100100800001008000050064000000200442006320063321801002008000020024000020063200631116020110099100100160000100310108101115111611200601600001002006420064200642006420064
160204200631500382580100100800001008000050664079210200442006320063321801002008000020024000020063200631116020110099100100160000100200101110117211200601600001002006420064200642006420064
160204200631500382580100100800001008000050064000015200442006320063321801002008000020024000020063200631116020110099100100160000100000101425011611200601600001002006420064200642006420064
160205200631510382580100100800001008000050064000000200442006320063321801002008000020024000020063200631116020110099100100160000100000101110011611200601600001002006420064200642006420064
1602042006315006082580100100800001008000050064000015200442006320063321801002008000020024000020063200631116020110099100100160000100000101115011611200601600001002006420064200642006420064
160204200631500382580100100800001008000050064000000200442006320063321801002008000020024000020063200631116020110099100100160000100000101115111611200601600001002006420064200642006420064
160204200631500382580100100800001008000050064000000200442006320063321801002008000020024000020063200631116020110099100100160000100000101110011611200601600001002006420064200642006420064
160204200631500382580100100800001008000050064000000200442006320063321801002008000020024000020063200631116020110099100100160000100000101110011611200601600001002006420064200642006420064
160204200631510382580100100800001008000050064000000200442006320063321801002008000020024000020063200631116020110099100100160000100000101110011611200601600001002006420064200642006420064
160204200631500382580100100800001008000050064000000200442006320063321801002008000020024000020063200631116020110099100100160000100000101110011611200601600001002006420064200642006420064

1000 unrolls and 10 iterations

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

retire (01)cycle (02)031e3f51inst 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)5f60696d6escheduler 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)9fa1a8acc2cfd0d2icache miss (d3)d5d6d9dadbddinst fetch restart (de)e0? int output thing (e9)eaec? fp/simd (ee)gpr retires (ef)f5f6f7f8fd
16002420079150044258001212800001280000626400001120026200452004532180012208000020240000200452004511160021109101016000010000010032311920211910200422150160000102004620046200462004620046
16002420045150044258001212800001280000626400001120026200452004532180012208000020240000200452004511160021109101016000010000010032311112021299200422300160000102005220046200462004620046
160024200451500442580012128000012800006264000011200262004520045321800122080000202400002004520045111600211091010160000100000100353119202111111200422150160000102004620046200462004620046
160024200451500442580012128000012800006264000011200262004520045321800122080000202400002004520045111600211091010160000100000100333111220211910200422150160000102004620046200462004620046
160024200451506442580012128000012800006264000011200262004520045321800122080000202400002004520045111600211091010160000100000100343119202111112200422150160000102004620046200462004620046
16002420045150044258001212800001280000626400001120026200452004532180012208000020240000200452011311160021109101016000010000010034311820211119200422150160000102004620046200462004620046
160024200451500442580012128000012800006264000011200262004520045321800122080000202400002004520045111600211091010160000100030100323111020211129200422150160000102004620046200502005020050
16002420045150124425800121280000128000062640000112002620045200453218001220800002024000020045201222116002110910101600001021001003531111202111112200422150160000102004620046200462004620050
160024200451501250258001212800001280000626400001120026200452004532180012208000020240000200452004511160021109101016000010013010033311122021199200422150160000102005220050200502005020046
160024200491500442580012128000012800006264000001200262004520045321800122080000202400002004520045111600211091010160000100000100343111020211109200422150160000102004620050200462004620046

Test 6: throughput

Count: 16

Code:

  bsl v0.8b, v16.8b, v17.8b
  bsl v1.8b, v16.8b, v17.8b
  bsl v2.8b, v16.8b, v17.8b
  bsl v3.8b, v16.8b, v17.8b
  bsl v4.8b, v16.8b, v17.8b
  bsl v5.8b, v16.8b, v17.8b
  bsl v6.8b, v16.8b, v17.8b
  bsl v7.8b, v16.8b, v17.8b
  bsl v8.8b, v16.8b, v17.8b
  bsl v9.8b, v16.8b, v17.8b
  bsl v10.8b, v16.8b, v17.8b
  bsl v11.8b, v16.8b, v17.8b
  bsl v12.8b, v16.8b, v17.8b
  bsl v13.8b, v16.8b, v17.8b
  bsl v14.8b, v16.8b, v17.8b
  bsl v15.8b, v16.8b, v17.8b
  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.2507

retire (01)cycle (02)03080b18191e1f373f4e51inst 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)9fa0a1a6a8a9acc2c5cfd5d6ddinst fetch restart (de)e0? int output thing (e9)? fp/simd (ee)gpr retires (ef)f5f6f7f8fd
160204400603000000000135402516010010016000010016000050047289511400194003840126200350320075160100200160000200480000400384011711160201100991001001600001000000000010110116114010901600001004003940127400394018940127
1602044003830100000010612721492516010010016000010016000050054863901401694003840126200350320146160100200160000200480000401264018811160201100991001001600001000000000010110116114006201600001004012740189401274018940039
1602044012630000000012514081492516013110016000010016000050012800000400194003840065199730319996160100200160000200480000400384011211160201100991001001600001000000000010110216114003501600001004012740039401274003940039
160204401123000000001257922052516022510016020910016000050054863900400194003840126200350320084160100200160000200480000401264003811160201100991001001600001000000000010110116114003501600001004012740113401274003940039
160204400383010000000123502516022510016012510016000050012800001401074012640188200930319996160100200160000200480000400384012611160201100991001001600001000000000010110116114012301600001004003940039401274028640039
16020440038300000000011843822516018810016000010016000050054863900401694003840188200350319997160100200160000200480000401884012611160201100991001001600001000000000010110116114010901600001004003940127401894012740189
160204401263000000001111241492516010010016000010016000050012800000400194003840112199730320023160100200160000200480000400384012611160201100991001001600001000000000010110116114006201600001004012740039401274018940127
160204401883000000000123302516010010016000010016000050054863900400194003840126200350320084160100200160000200480000401264003811160201100991001001600001000000000010110316314003501600001004003940039400394012740039
16020440038300000000012802052516010010016000010016000050012800000400194003840126200353320084160100200160000200480000400384010611160201100991001001600001000000000010110316114012301600001004012740039401274003940209
1602044011829900000001298025160100100160000100160000500472895114009340063400382001413320070160100200160000200480000401124003811160201100991001001600001000000000010110016114003501600001004012740039401274018940127

1000 unrolls and 10 iterations

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

retire (01)cycle (02)0308091e373f4e51inst 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)9fa1a6a8a9accdcfd0d2icache miss (d3)d5d6d9dadbddinst fetch restart (de)e0eaeb? fp/simd (ee)gpr retires (ef)f5f6f7f8fd
16002440103300020236150251601501016000010160000501280000115400204003840038199960320018160010201600002048000040057401191116002110910101600001000000010024821131632110940172305160000104003940039400394009040039
1600244003829900004502516001010160000101600005055340211154003840057400382000003200181600102016000020480000400384003811160021109101016000010000000100228311316211131240090155160000104003940039400394003940039
160024400382990000450251600101016011210160000501280000115400194003840144199960320018160010201600002048000040038400381116002110910101600001000000010022841121621191240054155160000104003940039400394003940039
160024400383000000153702516021110160000101600005012800001154001940074401831999603200181600102016000020480000402174017511160021109101016000010000000100228411016211111140035155160000104003940039400394004040039
160024400383000000450251600101016000010160000501280000115400474006040038201342332001916001020160000204800004003840038111600211091010160000100000001002285191621112940167155160000104008940039400664006640067
1600244010529900004502516001010160000101600005012800001154015640175401752005703200181600102016000020480000400384003911160021109101016000010000000100228611316211121140054155160000104003940039400944018440145
160024400573000000673362516020810160000101600005055602581154001940038400381999603200371600102016000020480000400384003811160021109101016000010000000100228611316211111140141155160000104003940040400394005840039
160024400382990000450251600101016000010160000501280000115400194003840038199960320099160010201600002048000040038400871116002110910101600001000000010022851111621191140035155160000104003940039400394003940176
160024400383000001984502516001010160069101600005012800001154002040038400381999603200181600102016000020480000400554003811160021109101016000010000000100228511216211101040035156160000104014540086400394017640039
160024400383000006945025160270101600011016000050131999711540075400384021719996032001916001020160000204800004003840038111600211091010160000100000001002285110162119840172155160000104003940039400394003940086