asmkit-rs 0.5.0

Portable assembler toolkit for encoding x86/x64, AArch64, and RISC-V
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
// [AsmKit] AArch64 NZCV (PSTATE) flag effects per instruction, indexed by
// [`InstId`]. Computed from the AsmJit instruction database `io` attributes
// (meta/asmjit/db/isa_aarch64.json) by meta/asmjit_db/tablegen_a64.py;
// AsmJit does not expose these through its generated tables.

use crate::core::rwinfo::CpuRwFlags;

/// (read_flags, write_flags) pairs of [`CpuRwFlags`] bits per instruction.
pub static RW_FLAGS_TABLE: &[(u32, u32)] = &[
    (0, 0),                        // #0
    (0, 0),                        // #1
    (CpuRwFlags::A64_C.bits(), 0), // #2
    (
        CpuRwFlags::A64_C.bits(),
        CpuRwFlags::A64_N.bits()
            | CpuRwFlags::A64_Z.bits()
            | CpuRwFlags::A64_C.bits()
            | CpuRwFlags::A64_V.bits(),
    ), // #3
    (0, 0),                        // #4
    (0, 0),                        // #5
    (
        0,
        CpuRwFlags::A64_N.bits()
            | CpuRwFlags::A64_Z.bits()
            | CpuRwFlags::A64_C.bits()
            | CpuRwFlags::A64_V.bits(),
    ), // #6
    (0, 0),                        // #7
    (0, 0),                        // #8
    (0, 0),                        // #9
    (
        0,
        CpuRwFlags::A64_N.bits()
            | CpuRwFlags::A64_Z.bits()
            | CpuRwFlags::A64_C.bits()
            | CpuRwFlags::A64_V.bits(),
    ), // #10
    (0, 0),                        // #11
    (0, 0),                        // #12
    (0, 0),                        // #13
    (0, 0),                        // #14
    (0, 0),                        // #15
    (0, 0),                        // #16
    (0, 0),                        // #17
    (0, 0),                        // #18
    (0, 0),                        // #19
    (0, 0),                        // #20
    (0, 0),                        // #21
    (0, 0),                        // #22
    (0, 0),                        // #23
    (0, 0),                        // #24
    (0, 0),                        // #25
    (0, 0),                        // #26
    (0, 0),                        // #27
    (
        CpuRwFlags::A64_N.bits()
            | CpuRwFlags::A64_Z.bits()
            | CpuRwFlags::A64_C.bits()
            | CpuRwFlags::A64_V.bits(),
        CpuRwFlags::A64_N.bits()
            | CpuRwFlags::A64_Z.bits()
            | CpuRwFlags::A64_C.bits()
            | CpuRwFlags::A64_V.bits(),
    ), // #28
    (
        CpuRwFlags::A64_N.bits()
            | CpuRwFlags::A64_Z.bits()
            | CpuRwFlags::A64_C.bits()
            | CpuRwFlags::A64_V.bits(),
        0,
    ), // #29
    (
        CpuRwFlags::A64_N.bits()
            | CpuRwFlags::A64_Z.bits()
            | CpuRwFlags::A64_C.bits()
            | CpuRwFlags::A64_V.bits(),
        0,
    ), // #30
    (0, 0),                        // #31
    (0, 0),                        // #32
    (0, 0),                        // #33
    (0, 0),                        // #34
    (0, 0),                        // #35
    (
        0,
        CpuRwFlags::A64_N.bits()
            | CpuRwFlags::A64_Z.bits()
            | CpuRwFlags::A64_C.bits()
            | CpuRwFlags::A64_V.bits(),
    ), // #36
    (0, 0),                        // #37
    (0, 0),                        // #38
    (0, 0),                        // #39
    (0, 0),                        // #40
    (0, 0),                        // #41
    (0, 0),                        // #42
    (0, 0),                        // #43
    (0, 0),                        // #44
    (0, 0),                        // #45
    (0, 0),                        // #46
    (0, 0),                        // #47
    (0, 0),                        // #48
    (0, 0),                        // #49
    (0, 0),                        // #50
    (0, 0),                        // #51
    (0, 0),                        // #52
    (0, 0),                        // #53
    (0, 0),                        // #54
    (0, 0),                        // #55
    (0, 0),                        // #56
    (0, 0),                        // #57
    (0, 0),                        // #58
    (0, 0),                        // #59
    (
        0,
        CpuRwFlags::A64_N.bits()
            | CpuRwFlags::A64_Z.bits()
            | CpuRwFlags::A64_C.bits()
            | CpuRwFlags::A64_V.bits(),
    ), // #60
    (
        0,
        CpuRwFlags::A64_N.bits()
            | CpuRwFlags::A64_Z.bits()
            | CpuRwFlags::A64_C.bits()
            | CpuRwFlags::A64_V.bits(),
    ), // #61
    (CpuRwFlags::A64_C.bits(), CpuRwFlags::A64_C.bits()), // #62
    (0, 0),                        // #63
    (
        CpuRwFlags::A64_N.bits()
            | CpuRwFlags::A64_Z.bits()
            | CpuRwFlags::A64_C.bits()
            | CpuRwFlags::A64_V.bits(),
        0,
    ), // #64
    (
        CpuRwFlags::A64_N.bits()
            | CpuRwFlags::A64_Z.bits()
            | CpuRwFlags::A64_C.bits()
            | CpuRwFlags::A64_V.bits(),
        0,
    ), // #65
    (0, 0),                        // #66
    (0, 0),                        // #67
    (0, 0),                        // #68
    (0, 0),                        // #69
    (
        0,
        CpuRwFlags::A64_N.bits()
            | CpuRwFlags::A64_Z.bits()
            | CpuRwFlags::A64_C.bits()
            | CpuRwFlags::A64_V.bits(),
    ), // #70
    (
        0,
        CpuRwFlags::A64_N.bits()
            | CpuRwFlags::A64_Z.bits()
            | CpuRwFlags::A64_C.bits()
            | CpuRwFlags::A64_V.bits(),
    ), // #71
    (0, 0),                        // #72
    (
        CpuRwFlags::A64_N.bits()
            | CpuRwFlags::A64_Z.bits()
            | CpuRwFlags::A64_C.bits()
            | CpuRwFlags::A64_V.bits(),
        0,
    ), // #73
    (0, 0),                        // #74
    (0, 0),                        // #75
    (0, 0),                        // #76
    (0, 0),                        // #77
    (0, 0),                        // #78
    (0, 0),                        // #79
    (0, 0),                        // #80
    (0, 0),                        // #81
    (0, 0),                        // #82
    (0, 0),                        // #83
    (
        CpuRwFlags::A64_N.bits()
            | CpuRwFlags::A64_Z.bits()
            | CpuRwFlags::A64_C.bits()
            | CpuRwFlags::A64_V.bits(),
        0,
    ), // #84
    (
        CpuRwFlags::A64_N.bits()
            | CpuRwFlags::A64_Z.bits()
            | CpuRwFlags::A64_C.bits()
            | CpuRwFlags::A64_V.bits(),
        0,
    ), // #85
    (
        CpuRwFlags::A64_N.bits()
            | CpuRwFlags::A64_Z.bits()
            | CpuRwFlags::A64_C.bits()
            | CpuRwFlags::A64_V.bits(),
        0,
    ), // #86
    (
        CpuRwFlags::A64_N.bits()
            | CpuRwFlags::A64_Z.bits()
            | CpuRwFlags::A64_C.bits()
            | CpuRwFlags::A64_V.bits(),
        0,
    ), // #87
    (
        CpuRwFlags::A64_N.bits()
            | CpuRwFlags::A64_Z.bits()
            | CpuRwFlags::A64_C.bits()
            | CpuRwFlags::A64_V.bits(),
        0,
    ), // #88
    (
        CpuRwFlags::A64_N.bits()
            | CpuRwFlags::A64_Z.bits()
            | CpuRwFlags::A64_C.bits()
            | CpuRwFlags::A64_V.bits(),
        0,
    ), // #89
    (0, 0),                        // #90
    (0, 0),                        // #91
    (0, 0),                        // #92
    (0, 0),                        // #93
    (0, 0),                        // #94
    (0, 0),                        // #95
    (0, 0),                        // #96
    (0, 0),                        // #97
    (0, 0),                        // #98
    (0, 0),                        // #99
    (0, 0),                        // #100
    (0, 0),                        // #101
    (0, 0),                        // #102
    (0, 0),                        // #103
    (0, 0),                        // #104
    (0, 0),                        // #105
    (0, 0),                        // #106
    (0, 0),                        // #107
    (0, 0),                        // #108
    (0, 0),                        // #109
    (0, 0),                        // #110
    (0, 0),                        // #111
    (0, 0),                        // #112
    (0, 0),                        // #113
    (0, 0),                        // #114
    (0, 0),                        // #115
    (0, 0),                        // #116
    (0, 0),                        // #117
    (0, 0),                        // #118
    (0, 0),                        // #119
    (0, 0),                        // #120
    (0, 0),                        // #121
    (0, 0),                        // #122
    (0, 0),                        // #123
    (0, 0),                        // #124
    (0, 0),                        // #125
    (0, 0),                        // #126
    (0, 0),                        // #127
    (0, 0),                        // #128
    (0, 0),                        // #129
    (0, 0),                        // #130
    (0, 0),                        // #131
    (0, 0),                        // #132
    (0, 0),                        // #133
    (0, 0),                        // #134
    (0, 0),                        // #135
    (0, 0),                        // #136
    (0, 0),                        // #137
    (0, 0),                        // #138
    (0, 0),                        // #139
    (0, 0),                        // #140
    (0, 0),                        // #141
    (0, 0),                        // #142
    (0, 0),                        // #143
    (0, 0),                        // #144
    (0, 0),                        // #145
    (0, 0),                        // #146
    (0, 0),                        // #147
    (0, 0),                        // #148
    (0, 0),                        // #149
    (0, 0),                        // #150
    (0, 0),                        // #151
    (0, 0),                        // #152
    (0, 0),                        // #153
    (0, 0),                        // #154
    (0, 0),                        // #155
    (0, 0),                        // #156
    (0, 0),                        // #157
    (0, 0),                        // #158
    (0, 0),                        // #159
    (0, 0),                        // #160
    (0, 0),                        // #161
    (0, 0),                        // #162
    (0, 0),                        // #163
    (0, 0),                        // #164
    (0, 0),                        // #165
    (0, 0),                        // #166
    (0, 0),                        // #167
    (0, 0),                        // #168
    (0, 0),                        // #169
    (0, 0),                        // #170
    (0, 0),                        // #171
    (0, 0),                        // #172
    (0, 0),                        // #173
    (0, 0),                        // #174
    (0, 0),                        // #175
    (0, 0),                        // #176
    (0, 0),                        // #177
    (0, 0),                        // #178
    (0, 0),                        // #179
    (0, 0),                        // #180
    (0, 0),                        // #181
    (0, 0),                        // #182
    (0, 0),                        // #183
    (0, 0),                        // #184
    (0, 0),                        // #185
    (0, 0),                        // #186
    (0, 0),                        // #187
    (0, 0),                        // #188
    (0, 0),                        // #189
    (0, 0),                        // #190
    (0, 0),                        // #191
    (0, 0),                        // #192
    (0, 0),                        // #193
    (0, 0),                        // #194
    (0, 0),                        // #195
    (0, 0),                        // #196
    (0, 0),                        // #197
    (0, 0),                        // #198
    (0, 0),                        // #199
    (0, 0),                        // #200
    (0, 0),                        // #201
    (0, 0),                        // #202
    (0, 0),                        // #203
    (0, 0),                        // #204
    (0, 0),                        // #205
    (0, 0),                        // #206
    (0, 0),                        // #207
    (0, 0),                        // #208
    (0, 0),                        // #209
    (0, 0),                        // #210
    (0, 0),                        // #211
    (0, 0),                        // #212
    (0, 0),                        // #213
    (0, 0),                        // #214
    (0, 0),                        // #215
    (0, 0),                        // #216
    (0, 0),                        // #217
    (0, 0),                        // #218
    (0, 0),                        // #219
    (0, 0),                        // #220
    (0, 0),                        // #221
    (0, 0),                        // #222
    (0, 0),                        // #223
    (0, 0),                        // #224
    (0, 0),                        // #225
    (0, 0),                        // #226
    (0, 0),                        // #227
    (0, 0),                        // #228
    (0, 0),                        // #229
    (0, 0),                        // #230
    (0, 0),                        // #231
    (0, 0),                        // #232
    (0, 0),                        // #233
    (0, 0),                        // #234
    (0, 0),                        // #235
    (0, 0),                        // #236
    (0, 0),                        // #237
    (0, 0),                        // #238
    (0, 0),                        // #239
    (0, 0),                        // #240
    (0, 0),                        // #241
    (0, 0),                        // #242
    (0, 0),                        // #243
    (0, 0),                        // #244
    (0, 0),                        // #245
    (0, 0),                        // #246
    (0, 0),                        // #247
    (0, 0),                        // #248
    (0, 0),                        // #249
    (0, 0),                        // #250
    (0, 0),                        // #251
    (0, 0),                        // #252
    (0, 0),                        // #253
    (0, 0),                        // #254
    (0, 0),                        // #255
    (0, 0),                        // #256
    (0, 0),                        // #257
    (0, 0),                        // #258
    (0, 0),                        // #259
    (0, 0),                        // #260
    (
        0,
        CpuRwFlags::A64_N.bits()
            | CpuRwFlags::A64_Z.bits()
            | CpuRwFlags::A64_C.bits()
            | CpuRwFlags::A64_V.bits(),
    ), // #261
    (CpuRwFlags::A64_C.bits(), 0), // #262
    (
        CpuRwFlags::A64_C.bits(),
        CpuRwFlags::A64_N.bits()
            | CpuRwFlags::A64_Z.bits()
            | CpuRwFlags::A64_C.bits()
            | CpuRwFlags::A64_V.bits(),
    ), // #263
    (0, 0),                        // #264
    (0, 0),                        // #265
    (0, 0),                        // #266
    (0, 0),                        // #267
    (0, 0),                        // #268
    (0, 0),                        // #269
    (0, 0),                        // #270
    (0, 0),                        // #271
    (0, 0),                        // #272
    (0, 0),                        // #273
    (0, 0),                        // #274
    (0, 0),                        // #275
    (0, 0),                        // #276
    (0, 0),                        // #277
    (0, 0),                        // #278
    (0, 0),                        // #279
    (0, 0),                        // #280
    (0, 0),                        // #281
    (CpuRwFlags::A64_C.bits(), 0), // #282
    (
        CpuRwFlags::A64_C.bits(),
        CpuRwFlags::A64_N.bits()
            | CpuRwFlags::A64_Z.bits()
            | CpuRwFlags::A64_C.bits()
            | CpuRwFlags::A64_V.bits(),
    ), // #283
    (0, 0),                        // #284
    (0, 0),                        // #285
    (0, 0),                        // #286
    (0, 0),                        // #287
    (
        0,
        CpuRwFlags::A64_N.bits() | CpuRwFlags::A64_Z.bits() | CpuRwFlags::A64_V.bits(),
    ), // #288
    (
        0,
        CpuRwFlags::A64_N.bits() | CpuRwFlags::A64_Z.bits() | CpuRwFlags::A64_V.bits(),
    ), // #289
    (0, 0),                        // #290
    (0, 0),                        // #291
    (0, 0),                        // #292
    (0, 0),                        // #293
    (0, 0),                        // #294
    (0, 0),                        // #295
    (0, 0),                        // #296
    (0, 0),                        // #297
    (0, 0),                        // #298
    (0, 0),                        // #299
    (0, 0),                        // #300
    (0, 0),                        // #301
    (0, 0),                        // #302
    (0, 0),                        // #303
    (0, 0),                        // #304
    (0, 0),                        // #305
    (0, 0),                        // #306
    (0, 0),                        // #307
    (0, 0),                        // #308
    (0, 0),                        // #309
    (0, 0),                        // #310
    (0, 0),                        // #311
    (0, 0),                        // #312
    (0, 0),                        // #313
    (0, 0),                        // #314
    (0, 0),                        // #315
    (0, 0),                        // #316
    (0, 0),                        // #317
    (0, 0),                        // #318
    (0, 0),                        // #319
    (0, 0),                        // #320
    (0, 0),                        // #321
    (0, 0),                        // #322
    (0, 0),                        // #323
    (0, 0),                        // #324
    (0, 0),                        // #325
    (0, 0),                        // #326
    (0, 0),                        // #327
    (0, 0),                        // #328
    (0, 0),                        // #329
    (0, 0),                        // #330
    (0, 0),                        // #331
    (0, 0),                        // #332
    (0, 0),                        // #333
    (0, 0),                        // #334
    (0, 0),                        // #335
    (0, 0),                        // #336
    (0, 0),                        // #337
    (0, 0),                        // #338
    (0, 0),                        // #339
    (0, 0),                        // #340
    (0, 0),                        // #341
    (0, 0),                        // #342
    (0, 0),                        // #343
    (0, 0),                        // #344
    (0, 0),                        // #345
    (0, 0),                        // #346
    (0, 0),                        // #347
    (0, 0),                        // #348
    (0, 0),                        // #349
    (0, 0),                        // #350
    (0, 0),                        // #351
    (0, 0),                        // #352
    (0, 0),                        // #353
    (0, 0),                        // #354
    (0, 0),                        // #355
    (0, 0),                        // #356
    (0, 0),                        // #357
    (0, 0),                        // #358
    (0, 0),                        // #359
    (0, 0),                        // #360
    (0, 0),                        // #361
    (0, 0),                        // #362
    (0, 0),                        // #363
    (0, 0),                        // #364
    (0, 0),                        // #365
    (0, 0),                        // #366
    (0, 0),                        // #367
    (0, 0),                        // #368
    (0, 0),                        // #369
    (0, 0),                        // #370
    (0, 0),                        // #371
    (0, 0),                        // #372
    (0, 0),                        // #373
    (0, 0),                        // #374
    (0, 0),                        // #375
    (0, 0),                        // #376
    (0, 0),                        // #377
    (0, 0),                        // #378
    (0, 0),                        // #379
    (0, 0),                        // #380
    (0, 0),                        // #381
    (0, 0),                        // #382
    (0, 0),                        // #383
    (
        0,
        CpuRwFlags::A64_N.bits()
            | CpuRwFlags::A64_Z.bits()
            | CpuRwFlags::A64_C.bits()
            | CpuRwFlags::A64_V.bits(),
    ), // #384
    (
        0,
        CpuRwFlags::A64_N.bits()
            | CpuRwFlags::A64_Z.bits()
            | CpuRwFlags::A64_C.bits()
            | CpuRwFlags::A64_V.bits(),
    ), // #385
    (0, 0),                        // #386
    (0, 0),                        // #387
    (0, 0),                        // #388
    (0, 0),                        // #389
    (0, 0),                        // #390
    (0, 0),                        // #391
    (0, 0),                        // #392
    (0, 0),                        // #393
    (0, 0),                        // #394
    (0, 0),                        // #395
    (0, 0),                        // #396
    (0, 0),                        // #397
    (0, 0),                        // #398
    (0, 0),                        // #399
    (0, 0),                        // #400
    (0, 0),                        // #401
    (0, 0),                        // #402
    (0, 0),                        // #403
    (
        0,
        CpuRwFlags::A64_N.bits()
            | CpuRwFlags::A64_Z.bits()
            | CpuRwFlags::A64_C.bits()
            | CpuRwFlags::A64_V.bits(),
    ), // #404
    (0, 0),                        // #405
    (0, 0),                        // #406
    (0, 0),                        // #407
    (0, 0),                        // #408
    (0, 0),                        // #409
    (0, 0),                        // #410
    (0, 0),                        // #411
    (0, 0),                        // #412
    (0, 0),                        // #413
    (0, 0),                        // #414
    (0, 0),                        // #415
    (0, 0),                        // #416
    (0, 0),                        // #417
    (0, 0),                        // #418
    (0, 0),                        // #419
    (0, 0),                        // #420
    (0, 0),                        // #421
    (0, 0),                        // #422
    (
        CpuRwFlags::A64_N.bits()
            | CpuRwFlags::A64_Z.bits()
            | CpuRwFlags::A64_C.bits()
            | CpuRwFlags::A64_V.bits(),
        CpuRwFlags::A64_N.bits()
            | CpuRwFlags::A64_Z.bits()
            | CpuRwFlags::A64_C.bits()
            | CpuRwFlags::A64_V.bits(),
    ), // #423
    (0, 0),                        // #424
    (0, 0),                        // #425
    (0, 0),                        // #426
    (0, 0),                        // #427
    (0, 0),                        // #428
    (0, 0),                        // #429
    (0, 0),                        // #430
    (0, 0),                        // #431
    (0, 0),                        // #432
    (0, 0),                        // #433
    (0, 0),                        // #434
    (0, 0),                        // #435
    (0, 0),                        // #436
    (0, 0),                        // #437
    (0, 0),                        // #438
    (0, 0),                        // #439
    (0, 0),                        // #440
    (0, 0),                        // #441
    (0, 0),                        // #442
    (0, 0),                        // #443
    (0, 0),                        // #444
    (0, 0),                        // #445
    (0, 0),                        // #446
    (0, 0),                        // #447
    (0, 0),                        // #448
    (0, 0),                        // #449
    (0, 0),                        // #450
    (0, 0),                        // #451
    (0, 0),                        // #452
    (0, 0),                        // #453
    (0, 0),                        // #454
    (0, 0),                        // #455
    (0, 0),                        // #456
    (0, 0),                        // #457
    (0, 0),                        // #458
    (0, 0),                        // #459
    (0, 0),                        // #460
    (0, 0),                        // #461
    (0, 0),                        // #462
    (0, 0),                        // #463
    (0, 0),                        // #464
    (0, 0),                        // #465
    (0, 0),                        // #466
    (0, 0),                        // #467
    (0, 0),                        // #468
    (0, 0),                        // #469
    (0, 0),                        // #470
    (0, 0),                        // #471
    (0, 0),                        // #472
    (
        0,
        CpuRwFlags::A64_N.bits()
            | CpuRwFlags::A64_Z.bits()
            | CpuRwFlags::A64_C.bits()
            | CpuRwFlags::A64_V.bits(),
    ), // #473
    (
        0,
        CpuRwFlags::A64_N.bits()
            | CpuRwFlags::A64_Z.bits()
            | CpuRwFlags::A64_C.bits()
            | CpuRwFlags::A64_V.bits(),
    ), // #474
    (0, 0),                        // #475
    (0, 0),                        // #476
    (0, 0),                        // #477
    (0, 0),                        // #478
    (0, 0),                        // #479
    (0, 0),                        // #480
    (
        0,
        CpuRwFlags::A64_N.bits()
            | CpuRwFlags::A64_Z.bits()
            | CpuRwFlags::A64_C.bits()
            | CpuRwFlags::A64_V.bits(),
    ), // #481
    (
        0,
        CpuRwFlags::A64_N.bits()
            | CpuRwFlags::A64_Z.bits()
            | CpuRwFlags::A64_C.bits()
            | CpuRwFlags::A64_V.bits(),
    ), // #482
    (
        CpuRwFlags::A64_N.bits()
            | CpuRwFlags::A64_Z.bits()
            | CpuRwFlags::A64_C.bits()
            | CpuRwFlags::A64_V.bits(),
        0,
    ), // #483
    (0, 0),                        // #484
    (0, 0),                        // #485
    (0, 0),                        // #486
    (0, 0),                        // #487
    (0, 0),                        // #488
    (0, 0),                        // #489
    (0, 0),                        // #490
    (0, 0),                        // #491
    (0, 0),                        // #492
    (0, 0),                        // #493
    (0, 0),                        // #494
    (0, 0),                        // #495
    (0, 0),                        // #496
    (0, 0),                        // #497
    (0, 0),                        // #498
    (0, 0),                        // #499
    (0, 0),                        // #500
    (0, 0),                        // #501
    (0, 0),                        // #502
    (0, 0),                        // #503
    (0, 0),                        // #504
    (0, 0),                        // #505
    (0, 0),                        // #506
    (0, 0),                        // #507
    (0, 0),                        // #508
    (0, 0),                        // #509
    (0, 0),                        // #510
    (0, 0),                        // #511
    (0, 0),                        // #512
    (0, 0),                        // #513
    (0, 0),                        // #514
    (0, 0),                        // #515
    (0, 0),                        // #516
    (0, 0),                        // #517
    (0, 0),                        // #518
    (0, 0),                        // #519
    (0, 0),                        // #520
    (0, 0),                        // #521
    (0, 0),                        // #522
    (0, 0),                        // #523
    (0, 0),                        // #524
    (0, 0),                        // #525
    (0, 0),                        // #526
    (0, 0),                        // #527
    (0, 0),                        // #528
    (0, 0),                        // #529
    (0, 0),                        // #530
    (0, 0),                        // #531
    (0, 0),                        // #532
    (0, 0),                        // #533
    (0, 0),                        // #534
    (0, 0),                        // #535
    (0, 0),                        // #536
    (0, 0),                        // #537
    (0, 0),                        // #538
    (0, 0),                        // #539
    (0, 0),                        // #540
    (0, 0),                        // #541
    (0, 0),                        // #542
    (0, 0),                        // #543
    (0, 0),                        // #544
    (0, 0),                        // #545
    (0, 0),                        // #546
    (0, 0),                        // #547
    (0, 0),                        // #548
    (0, 0),                        // #549
    (0, 0),                        // #550
    (0, 0),                        // #551
    (0, 0),                        // #552
    (0, 0),                        // #553
    (0, 0),                        // #554
    (0, 0),                        // #555
    (0, 0),                        // #556
    (0, 0),                        // #557
    (0, 0),                        // #558
    (0, 0),                        // #559
    (0, 0),                        // #560
    (0, 0),                        // #561
    (0, 0),                        // #562
    (0, 0),                        // #563
    (0, 0),                        // #564
    (0, 0),                        // #565
    (0, 0),                        // #566
    (0, 0),                        // #567
    (0, 0),                        // #568
    (0, 0),                        // #569
    (0, 0),                        // #570
    (0, 0),                        // #571
    (0, 0),                        // #572
    (0, 0),                        // #573
    (0, 0),                        // #574
    (0, 0),                        // #575
    (0, 0),                        // #576
    (0, 0),                        // #577
    (0, 0),                        // #578
    (0, 0),                        // #579
    (0, 0),                        // #580
    (0, 0),                        // #581
    (0, 0),                        // #582
    (0, 0),                        // #583
    (0, 0),                        // #584
    (0, 0),                        // #585
    (0, 0),                        // #586
    (0, 0),                        // #587
    (0, 0),                        // #588
    (0, 0),                        // #589
    (0, 0),                        // #590
    (0, 0),                        // #591
    (0, 0),                        // #592
    (0, 0),                        // #593
    (0, 0),                        // #594
    (0, 0),                        // #595
    (0, 0),                        // #596
    (0, 0),                        // #597
    (0, 0),                        // #598
    (0, 0),                        // #599
    (0, 0),                        // #600
    (0, 0),                        // #601
    (0, 0),                        // #602
    (0, 0),                        // #603
    (0, 0),                        // #604
    (0, 0),                        // #605
    (0, 0),                        // #606
    (0, 0),                        // #607
    (0, 0),                        // #608
    (0, 0),                        // #609
    (0, 0),                        // #610
    (0, 0),                        // #611
    (0, 0),                        // #612
    (0, 0),                        // #613
    (0, 0),                        // #614
    (0, 0),                        // #615
    (0, 0),                        // #616
    (0, 0),                        // #617
    (0, 0),                        // #618
    (0, 0),                        // #619
    (0, 0),                        // #620
    (0, 0),                        // #621
    (0, CpuRwFlags::A64_Q.bits()), // #622
    (0, 0),                        // #623
    (0, 0),                        // #624
    (0, 0),                        // #625
    (0, 0),                        // #626
    (0, 0),                        // #627
    (0, 0),                        // #628
    (0, 0),                        // #629
    (0, 0),                        // #630
    (0, 0),                        // #631
    (0, 0),                        // #632
    (0, 0),                        // #633
    (0, 0),                        // #634
    (0, 0),                        // #635
    (0, 0),                        // #636
    (0, 0),                        // #637
    (0, 0),                        // #638
    (0, 0),                        // #639
    (0, 0),                        // #640
    (0, 0),                        // #641
    (0, 0),                        // #642
    (0, 0),                        // #643
    (0, 0),                        // #644
    (0, 0),                        // #645
    (0, CpuRwFlags::A64_Q.bits()), // #646
    (0, CpuRwFlags::A64_Q.bits()), // #647
    (0, CpuRwFlags::A64_Q.bits()), // #648
    (0, CpuRwFlags::A64_Q.bits()), // #649
    (0, CpuRwFlags::A64_Q.bits()), // #650
    (0, CpuRwFlags::A64_Q.bits()), // #651
    (0, CpuRwFlags::A64_Q.bits()), // #652
    (0, CpuRwFlags::A64_Q.bits()), // #653
    (0, CpuRwFlags::A64_Q.bits()), // #654
    (0, CpuRwFlags::A64_Q.bits()), // #655
    (0, CpuRwFlags::A64_Q.bits()), // #656
    (0, CpuRwFlags::A64_Q.bits()), // #657
    (0, CpuRwFlags::A64_Q.bits()), // #658
    (0, CpuRwFlags::A64_Q.bits()), // #659
    (0, CpuRwFlags::A64_Q.bits()), // #660
    (0, CpuRwFlags::A64_Q.bits()), // #661
    (0, CpuRwFlags::A64_Q.bits()), // #662
    (0, CpuRwFlags::A64_Q.bits()), // #663
    (0, CpuRwFlags::A64_Q.bits()), // #664
    (0, CpuRwFlags::A64_Q.bits()), // #665
    (0, CpuRwFlags::A64_Q.bits()), // #666
    (0, CpuRwFlags::A64_Q.bits()), // #667
    (0, CpuRwFlags::A64_Q.bits()), // #668
    (0, CpuRwFlags::A64_Q.bits()), // #669
    (0, CpuRwFlags::A64_Q.bits()), // #670
    (0, CpuRwFlags::A64_Q.bits()), // #671
    (0, CpuRwFlags::A64_Q.bits()), // #672
    (0, CpuRwFlags::A64_Q.bits()), // #673
    (0, CpuRwFlags::A64_Q.bits()), // #674
    (0, CpuRwFlags::A64_Q.bits()), // #675
    (0, CpuRwFlags::A64_Q.bits()), // #676
    (0, CpuRwFlags::A64_Q.bits()), // #677
    (0, CpuRwFlags::A64_Q.bits()), // #678
    (0, CpuRwFlags::A64_Q.bits()), // #679
    (0, CpuRwFlags::A64_Q.bits()), // #680
    (0, CpuRwFlags::A64_Q.bits()), // #681
    (0, CpuRwFlags::A64_Q.bits()), // #682
    (0, CpuRwFlags::A64_Q.bits()), // #683
    (0, CpuRwFlags::A64_Q.bits()), // #684
    (0, 0),                        // #685
    (0, 0),                        // #686
    (0, 0),                        // #687
    (0, 0),                        // #688
    (0, 0),                        // #689
    (0, 0),                        // #690
    (0, 0),                        // #691
    (0, 0),                        // #692
    (0, 0),                        // #693
    (0, 0),                        // #694
    (0, 0),                        // #695
    (0, 0),                        // #696
    (0, 0),                        // #697
    (0, 0),                        // #698
    (0, 0),                        // #699
    (0, 0),                        // #700
    (0, CpuRwFlags::A64_Q.bits()), // #701
    (0, 0),                        // #702
    (0, 0),                        // #703
    (0, 0),                        // #704
    (0, 0),                        // #705
    (0, 0),                        // #706
    (0, 0),                        // #707
    (0, 0),                        // #708
    (0, 0),                        // #709
    (0, 0),                        // #710
    (0, 0),                        // #711
    (0, 0),                        // #712
    (0, 0),                        // #713
    (0, 0),                        // #714
    (0, 0),                        // #715
    (0, 0),                        // #716
    (0, 0),                        // #717
    (0, 0),                        // #718
    (0, 0),                        // #719
    (0, 0),                        // #720
    (0, 0),                        // #721
    (0, 0),                        // #722
    (0, 0),                        // #723
    (0, 0),                        // #724
    (0, 0),                        // #725
    (0, 0),                        // #726
    (0, 0),                        // #727
    (0, 0),                        // #728
    (0, 0),                        // #729
    (0, 0),                        // #730
    (0, 0),                        // #731
    (0, 0),                        // #732
    (0, 0),                        // #733
    (0, 0),                        // #734
    (0, 0),                        // #735
    (0, 0),                        // #736
    (0, 0),                        // #737
    (0, 0),                        // #738
    (0, CpuRwFlags::A64_Q.bits()), // #739
    (0, CpuRwFlags::A64_Q.bits()), // #740
    (0, CpuRwFlags::A64_Q.bits()), // #741
    (0, CpuRwFlags::A64_Q.bits()), // #742
    (0, CpuRwFlags::A64_Q.bits()), // #743
    (0, CpuRwFlags::A64_Q.bits()), // #744
    (0, CpuRwFlags::A64_Q.bits()), // #745
    (0, CpuRwFlags::A64_Q.bits()), // #746
    (0, CpuRwFlags::A64_Q.bits()), // #747
    (0, CpuRwFlags::A64_Q.bits()), // #748
    (0, 0),                        // #749
    (0, 0),                        // #750
    (0, CpuRwFlags::A64_Q.bits()), // #751
    (0, CpuRwFlags::A64_Q.bits()), // #752
    (0, 0),                        // #753
    (0, CpuRwFlags::A64_Q.bits()), // #754
    (0, 0),                        // #755
    (0, CpuRwFlags::A64_Q.bits()), // #756
    (0, CpuRwFlags::A64_Q.bits()), // #757
    (0, CpuRwFlags::A64_Q.bits()), // #758
    (0, CpuRwFlags::A64_Q.bits()), // #759
    (0, 0),                        // #760
    (0, CpuRwFlags::A64_Q.bits()), // #761
    (0, CpuRwFlags::A64_Q.bits()), // #762
    (0, 0),                        // #763
    (0, 0),                        // #764
    (0, 0),                        // #765
    (0, 0),                        // #766
    (0, 0),                        // #767
    (0, 0),                        // #768
    (0, 0),                        // #769
    (0, 0),                        // #770
    (0, 0),                        // #771
    (0, 0),                        // #772
    (0, 0),                        // #773
    (0, 0),                        // #774
    (0, 0),                        // #775
];