|
2747 | 2747 | && x5.Uses == 1
|
2748 | 2748 | && x6.Uses == 1
|
2749 | 2749 | && clobber(x0, x1, x2, x3, x4, x5, x6)
|
2750 |
| - => (MOVDstore [i-7] {s} ptr (REV <w.Type> w) mem) |
| 2750 | + => (MOVDstore [i-7] {s} ptr (REV <typ.UInt64> w) mem) |
2751 | 2751 | (MOVBstore [7] {s} p w
|
2752 | 2752 | x0:(MOVBstore [6] {s} p (SRLconst [8] w)
|
2753 | 2753 | x1:(MOVBstore [5] {s} p (SRLconst [16] w)
|
|
2767 | 2767 | && (isSamePtr(ptr0, ptr1) && isSamePtr(idx0, idx1) || isSamePtr(ptr0, idx1) && isSamePtr(idx0, ptr1))
|
2768 | 2768 | && isSamePtr(p1, p)
|
2769 | 2769 | && clobber(x0, x1, x2, x3, x4, x5, x6)
|
2770 |
| - => (MOVDstoreidx ptr0 idx0 (REV <w.Type> w) mem) |
| 2770 | + => (MOVDstoreidx ptr0 idx0 (REV <typ.UInt64> w) mem) |
2771 | 2771 | (MOVBstore [i] {s} ptr w
|
2772 | 2772 | x0:(MOVBstore [i-1] {s} ptr (UBFX [armBFAuxInt(8, 24)] w)
|
2773 | 2773 | x1:(MOVBstore [i-2] {s} ptr (UBFX [armBFAuxInt(16, 16)] w)
|
|
2776 | 2776 | && x1.Uses == 1
|
2777 | 2777 | && x2.Uses == 1
|
2778 | 2778 | && clobber(x0, x1, x2)
|
2779 |
| - => (MOVWstore [i-3] {s} ptr (REVW <w.Type> w) mem) |
| 2779 | + => (MOVWstore [i-3] {s} ptr (REVW <typ.UInt32> w) mem) |
2780 | 2780 | (MOVBstore [3] {s} p w
|
2781 | 2781 | x0:(MOVBstore [2] {s} p (UBFX [armBFAuxInt(8, 24)] w)
|
2782 | 2782 | x1:(MOVBstore [1] {s} p1:(ADD ptr1 idx1) (UBFX [armBFAuxInt(16, 16)] w)
|
|
2788 | 2788 | && (isSamePtr(ptr0, ptr1) && isSamePtr(idx0, idx1) || isSamePtr(ptr0, idx1) && isSamePtr(idx0, ptr1))
|
2789 | 2789 | && isSamePtr(p1, p)
|
2790 | 2790 | && clobber(x0, x1, x2)
|
2791 |
| - => (MOVWstoreidx ptr0 idx0 (REVW <w.Type> w) mem) |
| 2791 | + => (MOVWstoreidx ptr0 idx0 (REVW <typ.UInt32> w) mem) |
2792 | 2792 | (MOVBstoreidx ptr (ADDconst [3] idx) w
|
2793 | 2793 | x0:(MOVBstoreidx ptr (ADDconst [2] idx) (UBFX [armBFAuxInt(8, 24)] w)
|
2794 | 2794 | x1:(MOVBstoreidx ptr (ADDconst [1] idx) (UBFX [armBFAuxInt(16, 16)] w)
|
|
2797 | 2797 | && x1.Uses == 1
|
2798 | 2798 | && x2.Uses == 1
|
2799 | 2799 | && clobber(x0, x1, x2)
|
2800 |
| - => (MOVWstoreidx ptr idx (REVW <w.Type> w) mem) |
| 2800 | + => (MOVWstoreidx ptr idx (REVW <typ.UInt32> w) mem) |
2801 | 2801 | (MOVBstoreidx ptr idx w
|
2802 | 2802 | x0:(MOVBstoreidx ptr (ADDconst [1] idx) (UBFX [armBFAuxInt(8, 24)] w)
|
2803 | 2803 | x1:(MOVBstoreidx ptr (ADDconst [2] idx) (UBFX [armBFAuxInt(16, 16)] w)
|
|
2815 | 2815 | && x1.Uses == 1
|
2816 | 2816 | && x2.Uses == 1
|
2817 | 2817 | && clobber(x0, x1, x2)
|
2818 |
| - => (MOVWstore [i-3] {s} ptr (REVW <w.Type> w) mem) |
| 2818 | + => (MOVWstore [i-3] {s} ptr (REVW <typ.UInt32> w) mem) |
2819 | 2819 | (MOVBstore [3] {s} p w
|
2820 | 2820 | x0:(MOVBstore [2] {s} p (SRLconst [8] (MOVDreg w))
|
2821 | 2821 | x1:(MOVBstore [1] {s} p1:(ADD ptr1 idx1) (SRLconst [16] (MOVDreg w))
|
|
2827 | 2827 | && (isSamePtr(ptr0, ptr1) && isSamePtr(idx0, idx1) || isSamePtr(ptr0, idx1) && isSamePtr(idx0, ptr1))
|
2828 | 2828 | && isSamePtr(p1, p)
|
2829 | 2829 | && clobber(x0, x1, x2)
|
2830 |
| - => (MOVWstoreidx ptr0 idx0 (REVW <w.Type> w) mem) |
| 2830 | + => (MOVWstoreidx ptr0 idx0 (REVW <typ.UInt32> w) mem) |
2831 | 2831 | (MOVBstore [i] {s} ptr w
|
2832 | 2832 | x0:(MOVBstore [i-1] {s} ptr (SRLconst [8] w)
|
2833 | 2833 | x1:(MOVBstore [i-2] {s} ptr (SRLconst [16] w)
|
|
2836 | 2836 | && x1.Uses == 1
|
2837 | 2837 | && x2.Uses == 1
|
2838 | 2838 | && clobber(x0, x1, x2)
|
2839 |
| - => (MOVWstore [i-3] {s} ptr (REVW <w.Type> w) mem) |
| 2839 | + => (MOVWstore [i-3] {s} ptr (REVW <typ.UInt32> w) mem) |
2840 | 2840 | (MOVBstore [3] {s} p w
|
2841 | 2841 | x0:(MOVBstore [2] {s} p (SRLconst [8] w)
|
2842 | 2842 | x1:(MOVBstore [1] {s} p1:(ADD ptr1 idx1) (SRLconst [16] w)
|
|
2848 | 2848 | && (isSamePtr(ptr0, ptr1) && isSamePtr(idx0, idx1) || isSamePtr(ptr0, idx1) && isSamePtr(idx0, ptr1))
|
2849 | 2849 | && isSamePtr(p1, p)
|
2850 | 2850 | && clobber(x0, x1, x2)
|
2851 |
| - => (MOVWstoreidx ptr0 idx0 (REVW <w.Type> w) mem) |
| 2851 | + => (MOVWstoreidx ptr0 idx0 (REVW <typ.UInt32> w) mem) |
2852 | 2852 | (MOVBstore [i] {s} ptr w x:(MOVBstore [i-1] {s} ptr (SRLconst [8] w) mem))
|
2853 | 2853 | && x.Uses == 1
|
2854 | 2854 | && clobber(x)
|
2855 |
| - => (MOVHstore [i-1] {s} ptr (REV16W <w.Type> w) mem) |
| 2855 | + => (MOVHstore [i-1] {s} ptr (REV16W <typ.UInt16> w) mem) |
2856 | 2856 | (MOVBstore [1] {s} (ADD ptr1 idx1) w x:(MOVBstoreidx ptr0 idx0 (SRLconst [8] w) mem))
|
2857 | 2857 | && x.Uses == 1
|
2858 | 2858 | && s == nil
|
2859 | 2859 | && (isSamePtr(ptr0, ptr1) && isSamePtr(idx0, idx1) || isSamePtr(ptr0, idx1) && isSamePtr(idx0, ptr1))
|
2860 | 2860 | && clobber(x)
|
2861 |
| - => (MOVHstoreidx ptr0 idx0 (REV16W <w.Type> w) mem) |
| 2861 | + => (MOVHstoreidx ptr0 idx0 (REV16W <typ.UInt16> w) mem) |
2862 | 2862 | (MOVBstore [i] {s} ptr w x:(MOVBstore [i-1] {s} ptr (UBFX [armBFAuxInt(8, 8)] w) mem))
|
2863 | 2863 | && x.Uses == 1
|
2864 | 2864 | && clobber(x)
|
2865 |
| - => (MOVHstore [i-1] {s} ptr (REV16W <w.Type> w) mem) |
| 2865 | + => (MOVHstore [i-1] {s} ptr (REV16W <typ.UInt16> w) mem) |
2866 | 2866 | (MOVBstore [1] {s} (ADD ptr1 idx1) w x:(MOVBstoreidx ptr0 idx0 (UBFX [armBFAuxInt(8, 8)] w) mem))
|
2867 | 2867 | && x.Uses == 1
|
2868 | 2868 | && s == nil
|
2869 | 2869 | && (isSamePtr(ptr0, ptr1) && isSamePtr(idx0, idx1) || isSamePtr(ptr0, idx1) && isSamePtr(idx0, ptr1))
|
2870 | 2870 | && clobber(x)
|
2871 |
| - => (MOVHstoreidx ptr0 idx0 (REV16W <w.Type> w) mem) |
| 2871 | + => (MOVHstoreidx ptr0 idx0 (REV16W <typ.UInt16> w) mem) |
2872 | 2872 | (MOVBstoreidx ptr (ADDconst [1] idx) w x:(MOVBstoreidx ptr idx (UBFX [armBFAuxInt(8, 8)] w) mem))
|
2873 | 2873 | && x.Uses == 1
|
2874 | 2874 | && clobber(x)
|
2875 |
| - => (MOVHstoreidx ptr idx (REV16W <w.Type> w) mem) |
| 2875 | + => (MOVHstoreidx ptr idx (REV16W <typ.UInt16> w) mem) |
2876 | 2876 | (MOVBstoreidx ptr idx w x:(MOVBstoreidx ptr (ADDconst [1] idx) (UBFX [armBFAuxInt(8, 8)] w) mem))
|
2877 | 2877 | && x.Uses == 1
|
2878 | 2878 | && clobber(x)
|
2879 | 2879 | => (MOVHstoreidx ptr idx w mem)
|
2880 | 2880 | (MOVBstore [i] {s} ptr w x:(MOVBstore [i-1] {s} ptr (SRLconst [8] (MOVDreg w)) mem))
|
2881 | 2881 | && x.Uses == 1
|
2882 | 2882 | && clobber(x)
|
2883 |
| - => (MOVHstore [i-1] {s} ptr (REV16W <w.Type> w) mem) |
| 2883 | + => (MOVHstore [i-1] {s} ptr (REV16W <typ.UInt16> w) mem) |
2884 | 2884 | (MOVBstore [1] {s} (ADD ptr1 idx1) w x:(MOVBstoreidx ptr0 idx0 (SRLconst [8] (MOVDreg w)) mem))
|
2885 | 2885 | && x.Uses == 1
|
2886 | 2886 | && s == nil
|
2887 | 2887 | && (isSamePtr(ptr0, ptr1) && isSamePtr(idx0, idx1) || isSamePtr(ptr0, idx1) && isSamePtr(idx0, ptr1))
|
2888 | 2888 | && clobber(x)
|
2889 |
| - => (MOVHstoreidx ptr0 idx0 (REV16W <w.Type> w) mem) |
| 2889 | + => (MOVHstoreidx ptr0 idx0 (REV16W <typ.UInt16> w) mem) |
2890 | 2890 | (MOVBstore [i] {s} ptr w x:(MOVBstore [i-1] {s} ptr (UBFX [armBFAuxInt(8, 24)] w) mem))
|
2891 | 2891 | && x.Uses == 1
|
2892 | 2892 | && clobber(x)
|
2893 |
| - => (MOVHstore [i-1] {s} ptr (REV16W <w.Type> w) mem) |
| 2893 | + => (MOVHstore [i-1] {s} ptr (REV16W <typ.UInt16> w) mem) |
2894 | 2894 | (MOVBstore [1] {s} (ADD ptr1 idx1) w x:(MOVBstoreidx ptr0 idx0 (UBFX [armBFAuxInt(8, 24)] w) mem))
|
2895 | 2895 | && x.Uses == 1
|
2896 | 2896 | && s == nil
|
2897 | 2897 | && (isSamePtr(ptr0, ptr1) && isSamePtr(idx0, idx1) || isSamePtr(ptr0, idx1) && isSamePtr(idx0, ptr1))
|
2898 | 2898 | && clobber(x)
|
2899 |
| - => (MOVHstoreidx ptr0 idx0 (REV16W <w.Type> w) mem) |
| 2899 | + => (MOVHstoreidx ptr0 idx0 (REV16W <typ.UInt16> w) mem) |
2900 | 2900 |
|
2901 | 2901 | // FP simplification
|
2902 | 2902 | (FNEGS (FMULS x y)) => (FNMULS x y)
|
|
0 commit comments