@@ -15,8 +15,8 @@ define i256 @bitreversetest(i256 %v) {
15
15
; CHECK: ; %bb.0:
16
16
; CHECK-NEXT: JUMPDEST
17
17
; CHECK-NEXT: DUP1
18
- ; CHECK-NEXT: PUSH1 0xF8
19
- ; CHECK-NEXT: SHR
18
+ ; CHECK-NEXT: PUSH0
19
+ ; CHECK-NEXT: BYTE
20
20
; CHECK-NEXT: PUSH2 0xFF00
21
21
; CHECK-NEXT: DUP3
22
22
; CHECK-NEXT: PUSH1 0xE8
@@ -280,8 +280,8 @@ define i256 @bswaptest(i256 %v) {
280
280
; CHECK: ; %bb.0:
281
281
; CHECK-NEXT: JUMPDEST
282
282
; CHECK-NEXT: DUP1
283
- ; CHECK-NEXT: PUSH1 0xF8
284
- ; CHECK-NEXT: SHR
283
+ ; CHECK-NEXT: PUSH0
284
+ ; CHECK-NEXT: BYTE
285
285
; CHECK-NEXT: PUSH2 0xFF00
286
286
; CHECK-NEXT: DUP3
287
287
; CHECK-NEXT: PUSH1 0xE8
@@ -511,17 +511,15 @@ define i256 @ctpoptest(i256 %v) {
511
511
; CHECK-LABEL: ctpoptest:
512
512
; CHECK: ; %bb.0:
513
513
; CHECK-NEXT: JUMPDEST
514
- ; CHECK-NEXT: PUSH1 0xFF
515
514
; CHECK-NEXT: PUSH32 0x101010101010101010101010101010101010101010101010101010101010101
516
515
; CHECK-NEXT: PUSH16 0xF0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F
517
- ; CHECK-NEXT: DUP3
518
- ; CHECK-NEXT: DUP3
519
- ; CHECK-NEXT: DUP3
516
+ ; CHECK-NEXT: DUP2
517
+ ; CHECK-NEXT: DUP2
520
518
; CHECK-NEXT: PUSH32 0x3333333333333333333333333333333333333333333333333333333333333333
521
- ; CHECK-NEXT: DUP8
519
+ ; CHECK-NEXT: DUP6
522
520
; CHECK-NEXT: PUSH16 0x55555555555555555555555555555555
523
521
; CHECK-NEXT: DUP1
524
- ; CHECK-NEXT: SWAP10
522
+ ; CHECK-NEXT: SWAP8
525
523
; CHECK-NEXT: PUSH1 0x81
526
524
; CHECK-NEXT: SHR
527
525
; CHECK-NEXT: AND
@@ -538,7 +536,7 @@ define i256 @ctpoptest(i256 %v) {
538
536
; CHECK-NEXT: SWAP2
539
537
; CHECK-NEXT: AND
540
538
; CHECK-NEXT: ADD
541
- ; CHECK-NEXT: SWAP9
539
+ ; CHECK-NEXT: SWAP7
542
540
; CHECK-NEXT: DUP2
543
541
; CHECK-NEXT: PUSH1 0x1
544
542
; CHECK-NEXT: SHR
@@ -556,26 +554,24 @@ define i256 @ctpoptest(i256 %v) {
556
554
; CHECK-NEXT: SWAP2
557
555
; CHECK-NEXT: AND
558
556
; CHECK-NEXT: ADD
559
- ; CHECK-NEXT: SWAP7
557
+ ; CHECK-NEXT: SWAP5
560
558
; CHECK-NEXT: DUP1
561
559
; CHECK-NEXT: PUSH1 0x4
562
560
; CHECK-NEXT: SHR
563
561
; CHECK-NEXT: ADD
564
562
; CHECK-NEXT: AND
565
563
; CHECK-NEXT: MUL
566
- ; CHECK-NEXT: PUSH1 0x78
567
- ; CHECK-NEXT: SHR
568
- ; CHECK-NEXT: AND
569
- ; CHECK-NEXT: SWAP4
564
+ ; CHECK-NEXT: PUSH1 0x10
565
+ ; CHECK-NEXT: BYTE
566
+ ; CHECK-NEXT: SWAP3
570
567
; CHECK-NEXT: DUP1
571
568
; CHECK-NEXT: PUSH1 0x4
572
569
; CHECK-NEXT: SHR
573
570
; CHECK-NEXT: ADD
574
571
; CHECK-NEXT: AND
575
572
; CHECK-NEXT: MUL
576
- ; CHECK-NEXT: PUSH1 0x78
577
- ; CHECK-NEXT: SHR
578
- ; CHECK-NEXT: AND
573
+ ; CHECK-NEXT: PUSH1 0x10
574
+ ; CHECK-NEXT: BYTE
579
575
; CHECK-NEXT: ADD
580
576
; CHECK-NEXT: SWAP1
581
577
; CHECK-NEXT: JUMP
@@ -588,16 +584,14 @@ define i256 @ctlztest(i256 %v) {
588
584
; CHECK-LABEL: ctlztest:
589
585
; CHECK: ; %bb.0:
590
586
; CHECK-NEXT: JUMPDEST
591
- ; CHECK-NEXT: PUSH1 0xFF
592
587
; CHECK-NEXT: PUSH32 0x101010101010101010101010101010101010101010101010101010101010101
593
588
; CHECK-NEXT: PUSH16 0xF0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F
594
- ; CHECK-NEXT: DUP3
595
- ; CHECK-NEXT: DUP3
596
- ; CHECK-NEXT: DUP3
589
+ ; CHECK-NEXT: DUP2
590
+ ; CHECK-NEXT: DUP2
597
591
; CHECK-NEXT: PUSH32 0x3333333333333333333333333333333333333333333333333333333333333333
598
- ; CHECK-NEXT: DUP8
592
+ ; CHECK-NEXT: DUP6
599
593
; CHECK-NEXT: PUSH16 0x55555555555555555555555555555555
600
- ; CHECK-NEXT: SWAP9
594
+ ; CHECK-NEXT: SWAP7
601
595
; CHECK-NEXT: PUSH1 0x1
602
596
; CHECK-NEXT: SHR
603
597
; CHECK-NEXT: OR
@@ -631,7 +625,7 @@ define i256 @ctlztest(i256 %v) {
631
625
; CHECK-NEXT: OR
632
626
; CHECK-NEXT: NOT
633
627
; CHECK-NEXT: PUSH16 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
634
- ; CHECK-NEXT: DUP10
628
+ ; CHECK-NEXT: DUP8
635
629
; CHECK-NEXT: DUP3
636
630
; CHECK-NEXT: PUSH1 0x81
637
631
; CHECK-NEXT: SHR
@@ -649,7 +643,7 @@ define i256 @ctlztest(i256 %v) {
649
643
; CHECK-NEXT: SWAP2
650
644
; CHECK-NEXT: AND
651
645
; CHECK-NEXT: ADD
652
- ; CHECK-NEXT: SWAP10
646
+ ; CHECK-NEXT: SWAP8
653
647
; CHECK-NEXT: DUP3
654
648
; CHECK-NEXT: PUSH1 0x1
655
649
; CHECK-NEXT: SHR
@@ -666,26 +660,24 @@ define i256 @ctlztest(i256 %v) {
666
660
; CHECK-NEXT: SWAP2
667
661
; CHECK-NEXT: AND
668
662
; CHECK-NEXT: ADD
669
- ; CHECK-NEXT: SWAP7
663
+ ; CHECK-NEXT: SWAP5
670
664
; CHECK-NEXT: DUP1
671
665
; CHECK-NEXT: PUSH1 0x4
672
666
; CHECK-NEXT: SHR
673
667
; CHECK-NEXT: ADD
674
668
; CHECK-NEXT: AND
675
669
; CHECK-NEXT: MUL
676
- ; CHECK-NEXT: PUSH1 0x78
677
- ; CHECK-NEXT: SHR
678
- ; CHECK-NEXT: AND
679
- ; CHECK-NEXT: SWAP4
670
+ ; CHECK-NEXT: PUSH1 0x10
671
+ ; CHECK-NEXT: BYTE
672
+ ; CHECK-NEXT: SWAP3
680
673
; CHECK-NEXT: DUP1
681
674
; CHECK-NEXT: PUSH1 0x4
682
675
; CHECK-NEXT: SHR
683
676
; CHECK-NEXT: ADD
684
677
; CHECK-NEXT: AND
685
678
; CHECK-NEXT: MUL
686
- ; CHECK-NEXT: PUSH1 0x78
687
- ; CHECK-NEXT: SHR
688
- ; CHECK-NEXT: AND
679
+ ; CHECK-NEXT: PUSH1 0x10
680
+ ; CHECK-NEXT: BYTE
689
681
; CHECK-NEXT: ADD
690
682
; CHECK-NEXT: SWAP1
691
683
; CHECK-NEXT: JUMP
@@ -698,23 +690,21 @@ define i256 @cttztest(i256 %v) {
698
690
; CHECK-LABEL: cttztest:
699
691
; CHECK: ; %bb.0:
700
692
; CHECK-NEXT: JUMPDEST
701
- ; CHECK-NEXT: PUSH1 0xFF
702
693
; CHECK-NEXT: PUSH32 0x101010101010101010101010101010101010101010101010101010101010101
703
694
; CHECK-NEXT: PUSH16 0xF0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F
704
- ; CHECK-NEXT: DUP3
705
- ; CHECK-NEXT: DUP3
706
- ; CHECK-NEXT: DUP3
695
+ ; CHECK-NEXT: DUP2
696
+ ; CHECK-NEXT: DUP2
707
697
; CHECK-NEXT: PUSH32 0x3333333333333333333333333333333333333333333333333333333333333333
708
- ; CHECK-NEXT: DUP8
698
+ ; CHECK-NEXT: DUP6
709
699
; CHECK-NEXT: PUSH1 0x1
710
700
; CHECK-NEXT: PUSH16 0x55555555555555555555555555555555
711
- ; CHECK-NEXT: SWAP10
701
+ ; CHECK-NEXT: SWAP8
712
702
; CHECK-NEXT: SUB
713
703
; CHECK-NEXT: SWAP1
714
704
; CHECK-NEXT: NOT
715
705
; CHECK-NEXT: AND
716
706
; CHECK-NEXT: PUSH16 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
717
- ; CHECK-NEXT: DUP10
707
+ ; CHECK-NEXT: DUP8
718
708
; CHECK-NEXT: DUP3
719
709
; CHECK-NEXT: PUSH1 0x81
720
710
; CHECK-NEXT: SHR
@@ -732,7 +722,7 @@ define i256 @cttztest(i256 %v) {
732
722
; CHECK-NEXT: SWAP2
733
723
; CHECK-NEXT: AND
734
724
; CHECK-NEXT: ADD
735
- ; CHECK-NEXT: SWAP10
725
+ ; CHECK-NEXT: SWAP8
736
726
; CHECK-NEXT: DUP3
737
727
; CHECK-NEXT: PUSH1 0x1
738
728
; CHECK-NEXT: SHR
@@ -749,26 +739,24 @@ define i256 @cttztest(i256 %v) {
749
739
; CHECK-NEXT: SWAP2
750
740
; CHECK-NEXT: AND
751
741
; CHECK-NEXT: ADD
752
- ; CHECK-NEXT: SWAP7
742
+ ; CHECK-NEXT: SWAP5
753
743
; CHECK-NEXT: DUP1
754
744
; CHECK-NEXT: PUSH1 0x4
755
745
; CHECK-NEXT: SHR
756
746
; CHECK-NEXT: ADD
757
747
; CHECK-NEXT: AND
758
748
; CHECK-NEXT: MUL
759
- ; CHECK-NEXT: PUSH1 0x78
760
- ; CHECK-NEXT: SHR
761
- ; CHECK-NEXT: AND
762
- ; CHECK-NEXT: SWAP4
749
+ ; CHECK-NEXT: PUSH1 0x10
750
+ ; CHECK-NEXT: BYTE
751
+ ; CHECK-NEXT: SWAP3
763
752
; CHECK-NEXT: DUP1
764
753
; CHECK-NEXT: PUSH1 0x4
765
754
; CHECK-NEXT: SHR
766
755
; CHECK-NEXT: ADD
767
756
; CHECK-NEXT: AND
768
757
; CHECK-NEXT: MUL
769
- ; CHECK-NEXT: PUSH1 0x78
770
- ; CHECK-NEXT: SHR
771
- ; CHECK-NEXT: AND
758
+ ; CHECK-NEXT: PUSH1 0x10
759
+ ; CHECK-NEXT: BYTE
772
760
; CHECK-NEXT: ADD
773
761
; CHECK-NEXT: SWAP1
774
762
; CHECK-NEXT: JUMP
0 commit comments