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

LD1 (multiple, post-index, 2 regs, 1D)

Test 1: uops

Code:

  ld1 { v0.1d, v1.1d }, [x6], x8
  nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop
  mov x0, 1
  mov x1, 2
  mov x8, 0

(no loop instructions)

1000 unrolls and 1 iteration

Retires (minus 60 nops): 2.000

Issues: 2.000

Integer unit issues: 1.000

Load/store unit issues: 1.000

SIMD/FP unit issues: 0.000

retire uop (01)cycle (02)03mmu table walk instruction (07)mmu table walk data (08)09l2 tlb miss instruction (0a)l2 tlb miss data (0b)0e0f18191e1f2223243a3f43464951schedule uop (52)schedule int uop (53)schedule ldst uop (55)dispatch int uop (56)dispatch ldst uop (58)int uops in schedulers (59)simd uops in schedulers (5a)5f696d6emap rewind (75)map stall (76)dispatch uop (78)map ldst uop (7d)map ldst uop inputs (80)8283flush restart other nonspec (84)85inst all (8c)inst simd load (98)inst ldst (9b)9dl1d tlb access (a0)l1d tlb miss (a1)l1d cache miss ld (a3)ld unit uop (a6)l1d cache writeback (a8)a9acafb5bbl1d cache miss ld nonspec (bf)c2c9cfd0d2l1i cache miss demand (d3)l1i tlb miss demand (d4)d5map dispatch bubble (d6)d9dadbddfetch restart (de)dfe0? int output thing (e9)eaebec? ldst retires (ed)? simd retires (ee)? int retires (ef)f5f6f7f8fd
620052972724016101910051136264000468129222011245132000100110041001100050005000616061288142957831020002000300029539296322161001100010000100222100202109510012132013047923368673120751210073377381119354522886810021632813911154311000100010002971929629295882961629641
62004295432381110191000050000467229144010248652000100010001000100050005001516029289302979631020002000300029489293081161001100010004100003100200410032130013262961270053168446207183318381110484122847210001630313820150751000100010002945829465294812951629337
62004293492361801140000030000461329007001244572000100010001000100050005001416062288382939331020002000300029199291921161001100010001100003100120010012020176113151949368983097837207053209381015394222857710001776915467168871000100010003099230874315563123829446
6200429568237200015000002231080004742289070012434220001000100010001000500050006160602875729578310200020003000292182925511610011000100041000031001101100121321513192947669113107843207833261381310394022873410001623113710151791000100010002944729542294732953129515
6200429418235150012000001470000473629009010246092000100010001000100050005000016052288542953631020002002300029293294032161001100010004100003100000010002030013267935069143162753211413298381214424842876610001626513629152521000100010002949929376294052941129452
62004293902371500170000020000477028998010243842000100010001000100050005000416032286942944558268201020143012298502973315161001100010004100692101210888410082130013035900868523051740212273237381769444627014810001603913115143021000100010002925029342291362928529395
62004292002411800210000040000479728457000236922000100010001000100050005000716101282132866431020002000300028529285751161001100010000100020100000010002020013261938969683169745200603312381415414422816710001551712986145861000100010002870928801287212880628763
620042874522216002000000200104670283380002378020001000100010001000500050001616023282162880431020002000300028664284901161001100010000100002100100010000020013095951869453155104320167315038169424222819310001557012992142681000100010002867828721287072866228597
620042869222319001400000200004869283180002372720001000100010001000500050011160862830128713310200020003000285782863711610011000100001004031000021100000000133209414689831231348200183173380918494522808710001544712934140711000100010002878528610287322863128531
620042876822217001700010000004701284090012369620001000100010001001500050001016038282692876031020002000300028699286711161001100010001100003100000010002020012904943469503088943200063162381515484822809610001570612956143171000100010002878628677287362884728777

Test 2: Latency 1->3 roundtrip

Chain cycles: 3

Code:

  ld1 { v0.1d, v1.1d }, [x6], x8
  fmov x0, d0
  eor x8, x8, x0
  eor x8, x8, x0
  add x6, x6, x8
  mov x0, 1
  mov x1, 2
  mov x8, 0

(fused SUBS/B.cc loop)

100 unrolls and 100 iterations

Result (median cycles for code, minus 3 chain cycles): 9.0056

retire uop (01)cycle (02)03l1d tlb fill (05)mmu table walk data (08)l2 tlb miss data (0b)0e0f18191e1f2223243a3f4d51schedule uop (52)schedule int uop (53)schedule simd uop (54)schedule ldst uop (55)dispatch int uop (56)dispatch simd uop (57)dispatch ldst uop (58)int uops in schedulers (59)simd uops in schedulers (5a)ldst uops in schedulers (5b)60696d6emap stall dispatch (70)map rewind (75)map stall (76)dispatch uop (78)map int uop (7c)map ldst uop (7d)map simd uop (7e)map int uop inputs (7f)map ldst uop inputs (80)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 load (98)inst ldst (9b)9d9fl1d tlb access (a0)l1d tlb miss (a1)l1d cache miss ld (a3)ld unit uop (a6)l1d cache writeback (a8)a9acafb5bbl1d cache miss ld nonspec (bf)l1d tlb miss nonspec (c1)c2branch mispred nonspec (cb)cfd5map dispatch bubble (d6)ddfetch restart (de)e0? int output thing (e9)eaebec? ldst retires (ed)? simd retires (ee)? int retires (ef)f5f6f7f8fd
6020512005389911010001000001200421196392570106501041000210000401001000010000106179545461594574738012003212005612004111204231124476010030200200001000060200300001000012005612004311502011009910040100100001000001001000111100020011000011110032101831111975950004009100001000050100120060120057120058120057120187
6020412009293110100007010001200411196392570106501041000210000401001000010000106179545446334574699012003412005912005611204231124476010030200200001000060200300001000012005912005611502011009910040100100001000001001000211100010141000011110032101831111975950004960100001000050100120057120057120057120057120057
6020412005693110100002000001200411197172570106501041000210000401001000010000106225745461594574699012001712005612005611204231124326010030200200001000060200300001000012005612005611502011009910040100100001000001001000231100020241000011010032101831112013350004990100001000050100120057120059120057120057120057
6020412005793111000002000001200431196422570106501041000210000401001000010000106221245649974607393012001712004412024611217431124476010030200200001000060200300001004012005612005311502011009910040100100001000001001000111100021128591000011111032101831111975250002908100001000050100120044120057120150120057120058
6020412004193110000012000001200411196392570106501041000210000401001000010000106224845444744573390012003212009012005611204631124476010030200200001004060200300001000012005712005611502011009910040100100001000001001000111100010011000011010032101831111975950004908100001000050100120054120042120057120054120057
60204120041931100010011000001200421196412570103501041000210000401001003910000106223945461594574699012003412005612005711204631124476010030200200001000060200300001000012005612005611502011009910040100100001000001001000111100021071000011011032101831111975950004960100001000050100120057120057120057120057120057
6020412005693010000002000001200411196394970106501041000210000401001000010000106223945461594574699012003212005712004111204631124486010030200200001000060200300001000012014912005311502011009910040100100001000001001000131100010141000011110032101831111975950002960100001000050100120057120057120151120042120057
6020412005693112000002000001200411196892570106501041000210000401001000010000106223945461594574699012003212005612005611204631124476010030200200001000060200301231000012005612004111502011009910040100100001000001001000511100011111000011110032101831111975950004095100001000050100120042120057120057120057120057
60204120059930111000020000012004111963925701065010410002100004010010000100391061795454451345733900120032120041120056112046311244760100302002000010000602003000010000120053120056115020110099100401001000010000010010001111000201110000110100321018311119761500029118100001000050100120057120057120057120057120057
602041200539311100000146000001200261197172570106501041000210000401001000010000106223945461594574816012002912005612005611204631124326010030200200001000060448300001000012005612005311502011009910040100100001000001001000111100020011000011114032101831111975250004068100001000050100120054120057120042120042120057

1000 unrolls and 10 iterations

Result (median cycles for code, minus 3 chain cycles): 9.0060

retire uop (01)cycle (02)03l1i tlb fill (04)l1d tlb fill (05)mmu table walk data (08)09l2 tlb miss data (0b)0e0f18191e1f243a3f4d51schedule uop (52)schedule int uop (53)schedule simd uop (54)schedule ldst uop (55)dispatch int uop (56)dispatch simd uop (57)dispatch ldst uop (58)int uops in schedulers (59)simd uops in schedulers (5a)ldst uops in schedulers (5b)60696d6emap stall dispatch (70)map rewind (75)map stall (76)dispatch uop (78)map int uop (7c)map ldst uop (7d)map simd uop (7e)map int uop inputs (7f)map ldst uop inputs (80)map simd uop inputs (81)8283flush restart other nonspec (84)85inst all (8c)inst branch (8d)inst branch taken (90)91inst branch cond (94)inst int alu (97)inst simd load (98)inst ldst (9b)9d9fl1d tlb access (a0)l1d tlb miss (a1)l1d cache miss ld (a3)ld unit uop (a6)st unit uop (a7)l1d cache writeback (a8)a9acafb5bbl1d cache miss ld nonspec (bf)l1d tlb miss nonspec (c1)c2branch cond mispred nonspec (c5)cfd5map dispatch bubble (d6)ddfetch restart (de)e0? int output thing (e9)eaebec? ldst retires (ed)? simd retires (ee)? int retires (ef)f5f6f7f8fd
60025120057930011000000190001200451197142570016500121000210000400101000010000106230045510264582205012003712006012006011207931124786001030020200001004260020300001000012006012005711500211090104001010000100000101000211100020001100001111103140247815181197725000413100100001000050010120044120061120061120061120061
60024120061930010000300190001200451197142570013500141000210000400101000010038106284045502424578252012010612006012006011208231124786001030020200001000060020300001000012004112005711500211090104001010000100001101000111100030201100000111103140187882311976950004101012100001000050010120061120061120065120061120058
60024120060930011000000100012004511971425700275001410002100004001010000100001062291455110545783130120036120057120057112086311247560010300202000010000600203000010000120060120148115002110911040010100001000001010003111000103111000011111031402278212311976950004131312100001000050010120058120158120061120061120042
60024120060930010110010700112004211971425700165001410002100004001010000100001062291455294045783290120036120060120060112082311247860010300202009810000600203000010000120063120041115002110901040010100001000001010002111000101141000011110031402178222211976950004131012100001000050010120061120061120058120061120063
60024120057931011110000700012004711971425700165001210002100004015210000100001062408455145045799540120036120060120041112082311253860010300202000010000600203000010000120058120057115002110901040010100001000001010002311000300041000011110031402078242311975050004131012100001000050010120061120061120061120042120061
600241200579300111100002000120045119711257001350014100011000040010100001000010625354549229457821301200361200571200601120793112478600103002020000100006026030000100001200411200571150021109010400101000010000010100021110001021101000011110031402178182211975050004101012100001000050010120061120063120061120061120042
600241200419301110000002001120045119711257001650012100021000040152100001004510622914551453457954601200331200611200601120823112530600103002020000100006002030000100001200621200611150021109010400101000010000010100012110001020410000011100314077721811975050004111012100001000050010120042120062120061120042120061
60024120060930011000000200012004511969925700165001410002100004001010000100001062525455089345783510120036120057120149112082311247560010300202000010041600203000010000120061120057115002110901040010100001000001010005111000101011000011110031402478232311976650002101012100001000050010120061120058120058120061120061
60024120060931011000000260001202331198337570044500141000410004400101004010039106448245541194580627012011012015312024411215213113532652383038420080101236026230486100401203301202274150021109010400101000010000010100031010005200556110003110100318723100102811991750024131312100001000050010120157120438120247120340120244
600241202409320100200301400112004611971525700165001410002100004001010000100001062759455009345783120120017120041120060112082311247860010300202000010000600203000010000120060120057115002110901040010100001000001010001211000201041000001110031401678222111976950004131012100001000050010120061120061120061120058120061

Test 3: Latency 2->3 roundtrip

Chain cycles: 3

Code:

  ld1 { v0.1d, v1.1d }, [x6], x8
  fmov x1, d1
  eor x8, x8, x1
  eor x8, x8, x1
  add x6, x6, x8
  mov x0, 1
  mov x1, 2
  mov x8, 0

(fused SUBS/B.cc loop)

100 unrolls and 100 iterations

Result (median cycles for code, minus 3 chain cycles): 9.0050

retire uop (01)cycle (02)03mmu table walk data (08)09l2 tlb miss data (0b)0e0f18191e1f2223243f4d51schedule uop (52)schedule int uop (53)schedule simd uop (54)schedule ldst uop (55)dispatch int uop (56)dispatch simd uop (57)dispatch ldst uop (58)int uops in schedulers (59)simd uops in schedulers (5a)ldst uops in schedulers (5b)696d6emap stall dispatch (70)map rewind (75)map stall (76)dispatch uop (78)map int uop (7c)map ldst uop (7d)map simd uop (7e)map int uop inputs (7f)map ldst uop inputs (80)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 load (98)inst ldst (9b)9d9fl1d tlb access (a0)l1d tlb miss (a1)l1d cache miss ld (a3)ld unit uop (a6)st unit uop (a7)l1d cache writeback (a8)a9acafb5l1d cache miss ld nonspec (bf)c2cdcfd5map dispatch bubble (d6)ddfetch restart (de)e0? int output thing (e9)eaebec? ldst retires (ed)? simd retires (ee)? int retires (ef)f5f6f7f8fd
60205120051930000000013300001200351196332570103501141000110000401001000010000106218545459314573044120026120036120050112040131124416010030200200001000060200300001000012005012004711502011009910040100100001000001001000001100000103610000100032101831111975050000968100001000050100120051120051120051120051120051
60204120035930000000018800012013111963350701035010210001100004010010000100001062185454604545730441200261200361200501120403112441601003020020000100006020030000100001201351200351150201100991004010010000100000100100000110000000010000110032101831111975350002968100001000050100120051120052120051120140120049
6020412005093100100001000012003511963425701175010010001100004010010000100001062168454616545744651200261200501200501120263112441601003020020000100006020030000100001200351200502150201100991004010010000100000100100000010003000010000100032101961111975050010000100001000050100120048120048120051120051120051
60204120050931000000013000012002011963325701035010210001100004010010000100001062185454593145744651200261200501200501120773112441601003020020000100006020030000100421200351200501150201100991004010010000100000100100000110000010010000110032101831111975350002998100001000050100120141120051120051120051120051
60204120050930000000013000012003611963325701035010210001100004010010000100001062185454682045745041200271200501200881120443112441601003020020000100006020030000100001200351200501150201100991004010010000100000100100000010000010279510000110032101831111975350002960100001000050100120051120051120051120051120051
60204120035930010000012000012003511971225701035010210001100024010010000100001062185454593145744651200261200501200471120373112502601003020020000100006020030000100001200501200471150201100991004010010000100000100100000110000010010000110032101831111975350002900100001000050100120054120051120051120051120051
60204120050930000110013300001201291197897670131501221000510006405281007910078106868245471074581785120178120232120331112187131125416076230321202401008160944303631008212189512231326150201100991004010010000100000100100030110003000550510002110037461862211982950032998100001000050100120225120214120330120241120139
60204120139932100012239717600012003511963325701035010210001100004010010000100001062185454593145744651200261200501200351120403112442601003020020000100006020030000100001200511200501150201100991004010010000100000100100000110000010010000110032101831111975050002968100001000050100120055120052120051120051120051
6020412005093000001006000012003611971525701035010010001100004010010000100001062185454593145730821200261200501200501120263112441601003020020000100006020030000100001200501200501150201100991004010010000100000100100000110000000310000100032101831111975350002068100001000050100120051120051120051120051120051
60204120047930000000010000120035119633257010050100100001000040100100001000010621854544293457458212001112005012003511204031124416010030200200001000060200300001000012004712004711502011009910040100100001000001001000000100000003100001100321018311119753500021088100001000050100120048120048120051120051120048

1000 unrolls and 10 iterations

Result (median cycles for code, minus 3 chain cycles): 9.0054

retire uop (01)cycle (02)03mmu table walk data (08)09l2 tlb miss data (0b)0e0f18191e1f2223243a3f4d51schedule uop (52)schedule int uop (53)schedule simd uop (54)schedule ldst uop (55)dispatch int uop (56)dispatch simd uop (57)dispatch ldst uop (58)int uops in schedulers (59)simd uops in schedulers (5a)ldst uops in schedulers (5b)60696d6emap stall dispatch (70)map rewind (75)map stall (76)dispatch uop (78)map int uop (7c)map ldst uop (7d)map simd uop (7e)map int uop inputs (7f)map ldst uop inputs (80)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 load (98)inst ldst (9b)9d9fl1d tlb access (a0)l1d tlb miss (a1)l1d cache miss ld (a3)ld unit uop (a6)st unit uop (a7)l1d cache writeback (a8)a9acafb5l1d cache miss ld nonspec (bf)branch cond mispred nonspec (c5)cfl1i cache miss demand (d3)d5map dispatch bubble (d6)ddfetch restart (de)e0? int output thing (e9)eaebec? ldst retires (ed)? simd retires (ee)? int retires (ef)f5f6f7f8fd
600251200359640110000700000012003511970225700135001210001100004001010000100001062228454846245778231120026120047120050112058311246560010300202000010000600203000010000120050120047115002110910400101000010000010100000110000000010000110314003785211975950002968100001000050010120052120048120051120054120053
600241200509640000000970000012003211970525700135001210001100004001010000100001062264454857645778230120023120050120052112072311246860010300202000010000600203000010000120050120047115002110910400101000010000010100000110000000010000110314006784411975950002968100001000050010120051120051120052120051120051
6002412005096500000001900000120127119705517001350020100011000240152100001000010644804548538457782301208501203291202301121693511254760231301442008010123602683024010082120239120227815002110910400101000010000010100022110005002698531000411031860410155119908500229108100001000050010122182122453122448122330120150
6002412023496711100213101760000120216119749257001350022100011000240010100001003910622284548576458050301200111201391200501121041411246660232300202008010000600203012010000120048120140115002110910400101000010000010100010110000000010000110314005784411982550002908100001000050010120147120051120051120127120142
6002412005096500000012410100012003211970425700135001210001100004001010000100001062228454799245778620120026120051120054112072311246860010300202000010000600203000010000120047120035115002110910400101000010000010100000110000000010000110314004783511976050002968100001000050010120051120051120051120051120052
6002412005096400000001000001200351197042570013500121000110000400101000010000106222845485764577823012001112005012005011207231124666001030020200001000060020300001000012005012003511500211091040010100001000001010000011000000091000211031871105784151197655000213109100001000050010120055120058120057120056120058
60024120056964000000064000001231771205672570013500121006310082462671012010000106226445487674615847012220012005512009211207765112472600103442522174100006002030000100001200581226303615002110910400101000010000010100000110000010813431003211031400378531197635000213109100001000050010120055120055120057120055120053
60024120057964000000040000012003712104950700135001210001100004001010000100001062273454884545780170120030120143120055112079141124726001030020200801000060020300001000012005412005111500211091040010100001000001010015011000102028081000011031400478341197635000213109100001000050010120141120143120055120059120055
6002412005396400100011388000012003911969025700135001210003100024001010000100001064359455069345780180120031120056120051112076311247160231301432000010000600203012010000120037120035215002110910400101000010000010100000110000010277310000110314004862411976350002131112100001000050010120060120142120055120057120061
6002412005596500000102588000012003911970525700255002210001100004001010000100391064318454872845780960122369120052120054112077311247760232300202000010000602663012010000120054120147115002110910400101000010000010100000110000010277310000110314008854211982650012131013100001000050010120058120055120151120056120058

Test 4: throughput

Count: 8

Code:

  ld1 { v0.1d, v1.1d }, [x6], x8
  ld1 { v0.1d, v1.1d }, [x6], x8
  ld1 { v0.1d, v1.1d }, [x6], x8
  ld1 { v0.1d, v1.1d }, [x6], x8
  ld1 { v0.1d, v1.1d }, [x6], x8
  ld1 { v0.1d, v1.1d }, [x6], x8
  ld1 { v0.1d, v1.1d }, [x6], x8
  ld1 { v0.1d, v1.1d }, [x6], x8
  mov x7, x6
  mov x8, x6
  mov x9, x6
  mov x10, x6
  mov x11, x6
  mov x12, x6
  mov x13, x6
  mov x8, 0

(fused SUBS/B.cc loop)

100 unrolls and 100 iterations

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

retire uop (01)cycle (02)03mmu table walk data (08)09l2 tlb miss data (0b)0e0f18191e1f22233f4346494f5051schedule uop (52)schedule int uop (53)schedule ldst uop (55)dispatch int uop (56)dispatch ldst uop (58)int uops in schedulers (59)simd uops in schedulers (5a)60696b6d6emap stall dispatch (70)map rewind (75)map stall (76)dispatch uop (78)map int uop (7c)map ldst uop (7d)map int uop inputs (7f)map ldst uop inputs (80)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 load (98)inst ldst (9b)9d9fl1d tlb access (a0)l1d tlb miss (a1)l1d cache miss ld (a3)ld unit uop (a6)l1d cache writeback (a8)a9acafb5b6bbl1d cache miss ld nonspec (bf)branch mispred nonspec (cb)cfd5map dispatch bubble (d6)ddfetch restart (de)e0e7? int output thing (e9)eaeb? ldst retires (ed)? simd retires (ee)? int retires (ef)f5f6f7f8fd
1602058004062000010001900080025066802516010080100800008010080000435898637588241800150800408004059924359998160100200160000200240000800408004011802011009910010080000800000100800000148001300744800136090051101161180037180000968000080000801008004180041800418009580041
16020480040621000110030000800251666025160100801008000080100800004358994375882418001508004080040599241159998160100200160000200240000800408004011802011009910010080000800000100800000178003500203580000001017051101161180037080000998000080000801008004180096800418004180041
16020480040620000110019000800251665025160100801008000080100800004359002375882418001508004080040599243599981601002001600002002400008004080040118020110099100100800008000001008000001780013001380010601017051102161180037080000068000080000801008004180041800418004180041
16020480040621000000019880080025106490251601008010080000801008000043590063758824180015080040800405992435999816010020016000020024000080040800401180201100991001008000080000010080000014800130008001360017051101161180037180000998000080000801008004180041800418004180041
1602048004062100000101800080025060502516010080100800008010080000435900637588241800150800408004059924359998160100200160000200240000800408004011802011009910010080000800000100800000178001300138001361017051101251180037180000998000080000801008004180041800418004180041
1602048004062000010001888008002516657025160100801008000080100800004358998375882418001508004080040599243599981601002001600002002400008004080040118020110099100100800008000001008000001480000001280017611317051101161180037180000998000080000801008004180041800418004180041
160204800406200001100190008002516040251601008010080000801008000043590183758824180015080040800405992411599981601002001600002002400008004080040118020110099100100800008000001008000001780024101880012011517051101161180037180000968000080000801008004180041800418004180041
1602048004062100011001900080025106100251601008010080025801008000043590143758824180015080040800405992435999816010020016000020024000080040800401180201100991001008000080000010080022008002200149480035611017051241341180117080027908000080000801008014980095801508015180203
16020480096627111112239688008013216694099160152801278005080252801384358650375882418005408009480040600321286039516271420016015220024045680094801493180201100991001008000080000010080022208002200151580034001017051251251180077080055968000080000801008004180041800418004180041
1602048004062000111001900080025166602516010080100800008010080000435900237588241800150800408004059924359998160100200160000200240000801018004011802011009910010080000800001100800000148001300518001561130051101161180037080000068000080000801008004180041800418004180041

1000 unrolls and 10 iterations

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

retire uop (01)cycle (02)03mmu table walk data (08)09l2 tlb miss data (0b)0e0f18191e1f22233f4346494f51schedule uop (52)schedule int uop (53)schedule ldst uop (55)dispatch int uop (56)dispatch ldst uop (58)int uops in schedulers (59)simd uops in schedulers (5a)696d6emap stall dispatch (70)map rewind (75)map stall (76)dispatch uop (78)map int uop (7c)map ldst uop (7d)map int uop inputs (7f)map ldst uop inputs (80)8283flush restart other nonspec (84)85inst all (8c)inst branch (8d)inst branch taken (90)91inst branch cond (94)inst int store (96)inst int alu (97)inst simd load (98)inst ldst (9b)inst barrier (9c)9d9fl1d tlb access (a0)l1d tlb miss (a1)l1d cache miss ld (a3)ld unit uop (a6)l1d cache writeback (a8)a9acafb5b6bbl1d cache miss ld nonspec (bf)c2cdcfd0d5map dispatch bubble (d6)d9ddfetch restart (de)e0e7? int output thing (e9)eaeb? ldst retires (ed)? simd retires (ee)? int retires (ef)f5f6f7f8fd
160025801486431100000190108002516642516001080010800008001080000435841737588248001580040800405994636002016001020160000202400008004080040118002110901001080000800000110800000148001000138000961017015020031646480037080000968000080000800108004180041800418004180041
1600248011064400000004001080025166425160010800108000080010800004358417375882480015800408004059946360020160010201600002024000080040800401180021109010010800008000000108000001480013001080009611017005020031603380037180000968000080000800108004180041800418004180041
1600248004064300010001800080025166525160010800108000080010800004358417375882480015800408004059946360020160010201600002024000080040800401180021109010010800008000000108000001480010009800106190005020031603380037080000968000080000800108004180041800418004180041
160024800406430000000000080025166925160010800108000080010800004358417375882480015800408004059946360020160010201600002024000080040800401180021109010010800008000000108000001480013001080000611517005020021604380037180000968000080000800108004180041800418004180041
160024800406420000000180108002516602516001080010800008001080000435842537588248001580040800405994636002016001020160000202400008004080040118002110901001080000800000010800000148000010108000961017005020031604280037180000878000080000800108004180041800418004180041
1600248004064300000001900080025066425160010800108000080010800004358417375882480015800408004059946360020160010201600002024000080040800401180021109010010800008000000108000001480009001480010611014005020021605480037180000968000080000800108004180041800418004180041
160024800406420000000120008002516652516001080010800008001080000435838937588248001580040800405994636002016001020160000202400008004080040118002110901001080000800000010800000148001300080010611017005020021603380037180000998000080000800108004180041800418004180041
16002480040643000000000108002516652516001080010800008001080000435840937588248001580040800405994636002016001020160000202400008004080040118002110901001080000800000010800000148000000980012611017005020031614380037080000008000080000800108004180041800418004180041
160024800406430000000000080025066102516001080010800008001080000435841737588248001580040800405994636002016001020160000202400008004080040118002110901001080000800000010800000080010001280010601314005020081603380037180000668000080000800108004180041800418004180041
16002480040643000000015000800251068251600108001080000800108000043584093758824800158004080040599463600201600102016000020240000800408004011800211090100108000080000001080000014800130098001061130005020031604280037180000678000080000800108004180041800418004180041