|
2821 | 2821 | && x5.Uses == 1
|
2822 | 2822 | && x6.Uses == 1
|
2823 | 2823 | && clobber(x0, x1, x2, x3, x4, x5, x6)
|
2824 |
| - => (MOVDstore [i-7] {s} ptr (REV <w.Type> w) mem) |
| 2824 | + => (MOVDstore [i-7] {s} ptr (REV <typ.UInt64> w) mem) |
2825 | 2825 | (MOVBstore [7] {s} p w
|
2826 | 2826 | x0:(MOVBstore [6] {s} p (SRLconst [8] w)
|
2827 | 2827 | x1:(MOVBstore [5] {s} p (SRLconst [16] w)
|
|
2841 | 2841 | && (isSamePtr(ptr0, ptr1) && isSamePtr(idx0, idx1) || isSamePtr(ptr0, idx1) && isSamePtr(idx0, ptr1))
|
2842 | 2842 | && isSamePtr(p1, p)
|
2843 | 2843 | && clobber(x0, x1, x2, x3, x4, x5, x6)
|
2844 |
| - => (MOVDstoreidx ptr0 idx0 (REV <w.Type> w) mem) |
| 2844 | + => (MOVDstoreidx ptr0 idx0 (REV <typ.UInt64> w) mem) |
2845 | 2845 | (MOVBstore [i] {s} ptr w
|
2846 | 2846 | x0:(MOVBstore [i-1] {s} ptr (UBFX [armBFAuxInt(8, 24)] w)
|
2847 | 2847 | x1:(MOVBstore [i-2] {s} ptr (UBFX [armBFAuxInt(16, 16)] w)
|
|
2850 | 2850 | && x1.Uses == 1
|
2851 | 2851 | && x2.Uses == 1
|
2852 | 2852 | && clobber(x0, x1, x2)
|
2853 |
| - => (MOVWstore [i-3] {s} ptr (REVW <w.Type> w) mem) |
| 2853 | + => (MOVWstore [i-3] {s} ptr (REVW <typ.UInt32> w) mem) |
2854 | 2854 | (MOVBstore [3] {s} p w
|
2855 | 2855 | x0:(MOVBstore [2] {s} p (UBFX [armBFAuxInt(8, 24)] w)
|
2856 | 2856 | x1:(MOVBstore [1] {s} p1:(ADD ptr1 idx1) (UBFX [armBFAuxInt(16, 16)] w)
|
|
2862 | 2862 | && (isSamePtr(ptr0, ptr1) && isSamePtr(idx0, idx1) || isSamePtr(ptr0, idx1) && isSamePtr(idx0, ptr1))
|
2863 | 2863 | && isSamePtr(p1, p)
|
2864 | 2864 | && clobber(x0, x1, x2)
|
2865 |
| - => (MOVWstoreidx ptr0 idx0 (REVW <w.Type> w) mem) |
| 2865 | + => (MOVWstoreidx ptr0 idx0 (REVW <typ.UInt32> w) mem) |
2866 | 2866 | (MOVBstoreidx ptr (ADDconst [3] idx) w
|
2867 | 2867 | x0:(MOVBstoreidx ptr (ADDconst [2] idx) (UBFX [armBFAuxInt(8, 24)] w)
|
2868 | 2868 | x1:(MOVBstoreidx ptr (ADDconst [1] idx) (UBFX [armBFAuxInt(16, 16)] w)
|
|
2871 | 2871 | && x1.Uses == 1
|
2872 | 2872 | && x2.Uses == 1
|
2873 | 2873 | && clobber(x0, x1, x2)
|
2874 |
| - => (MOVWstoreidx ptr idx (REVW <w.Type> w) mem) |
| 2874 | + => (MOVWstoreidx ptr idx (REVW <typ.UInt32> w) mem) |
2875 | 2875 | (MOVBstoreidx ptr idx w
|
2876 | 2876 | x0:(MOVBstoreidx ptr (ADDconst [1] idx) (UBFX [armBFAuxInt(8, 24)] w)
|
2877 | 2877 | x1:(MOVBstoreidx ptr (ADDconst [2] idx) (UBFX [armBFAuxInt(16, 16)] w)
|
|
2889 | 2889 | && x1.Uses == 1
|
2890 | 2890 | && x2.Uses == 1
|
2891 | 2891 | && clobber(x0, x1, x2)
|
2892 |
| - => (MOVWstore [i-3] {s} ptr (REVW <w.Type> w) mem) |
| 2892 | + => (MOVWstore [i-3] {s} ptr (REVW <typ.UInt32> w) mem) |
2893 | 2893 | (MOVBstore [3] {s} p w
|
2894 | 2894 | x0:(MOVBstore [2] {s} p (SRLconst [8] (MOVDreg w))
|
2895 | 2895 | x1:(MOVBstore [1] {s} p1:(ADD ptr1 idx1) (SRLconst [16] (MOVDreg w))
|
|
2901 | 2901 | && (isSamePtr(ptr0, ptr1) && isSamePtr(idx0, idx1) || isSamePtr(ptr0, idx1) && isSamePtr(idx0, ptr1))
|
2902 | 2902 | && isSamePtr(p1, p)
|
2903 | 2903 | && clobber(x0, x1, x2)
|
2904 |
| - => (MOVWstoreidx ptr0 idx0 (REVW <w.Type> w) mem) |
| 2904 | + => (MOVWstoreidx ptr0 idx0 (REVW <typ.UInt32> w) mem) |
2905 | 2905 | (MOVBstore [i] {s} ptr w
|
2906 | 2906 | x0:(MOVBstore [i-1] {s} ptr (SRLconst [8] w)
|
2907 | 2907 | x1:(MOVBstore [i-2] {s} ptr (SRLconst [16] w)
|
|
2910 | 2910 | && x1.Uses == 1
|
2911 | 2911 | && x2.Uses == 1
|
2912 | 2912 | && clobber(x0, x1, x2)
|
2913 |
| - => (MOVWstore [i-3] {s} ptr (REVW <w.Type> w) mem) |
| 2913 | + => (MOVWstore [i-3] {s} ptr (REVW <typ.UInt32> w) mem) |
2914 | 2914 | (MOVBstore [3] {s} p w
|
2915 | 2915 | x0:(MOVBstore [2] {s} p (SRLconst [8] w)
|
2916 | 2916 | x1:(MOVBstore [1] {s} p1:(ADD ptr1 idx1) (SRLconst [16] w)
|
|
2922 | 2922 | && (isSamePtr(ptr0, ptr1) && isSamePtr(idx0, idx1) || isSamePtr(ptr0, idx1) && isSamePtr(idx0, ptr1))
|
2923 | 2923 | && isSamePtr(p1, p)
|
2924 | 2924 | && clobber(x0, x1, x2)
|
2925 |
| - => (MOVWstoreidx ptr0 idx0 (REVW <w.Type> w) mem) |
| 2925 | + => (MOVWstoreidx ptr0 idx0 (REVW <typ.UInt32> w) mem) |
2926 | 2926 | (MOVBstore [i] {s} ptr w x:(MOVBstore [i-1] {s} ptr (SRLconst [8] w) mem))
|
2927 | 2927 | && x.Uses == 1
|
2928 | 2928 | && clobber(x)
|
2929 |
| - => (MOVHstore [i-1] {s} ptr (REV16W <w.Type> w) mem) |
| 2929 | + => (MOVHstore [i-1] {s} ptr (REV16W <typ.UInt16> w) mem) |
2930 | 2930 | (MOVBstore [1] {s} (ADD ptr1 idx1) w x:(MOVBstoreidx ptr0 idx0 (SRLconst [8] w) mem))
|
2931 | 2931 | && x.Uses == 1
|
2932 | 2932 | && s == nil
|
2933 | 2933 | && (isSamePtr(ptr0, ptr1) && isSamePtr(idx0, idx1) || isSamePtr(ptr0, idx1) && isSamePtr(idx0, ptr1))
|
2934 | 2934 | && clobber(x)
|
2935 |
| - => (MOVHstoreidx ptr0 idx0 (REV16W <w.Type> w) mem) |
| 2935 | + => (MOVHstoreidx ptr0 idx0 (REV16W <typ.UInt16> w) mem) |
2936 | 2936 | (MOVBstore [i] {s} ptr w x:(MOVBstore [i-1] {s} ptr (UBFX [armBFAuxInt(8, 8)] w) mem))
|
2937 | 2937 | && x.Uses == 1
|
2938 | 2938 | && clobber(x)
|
2939 |
| - => (MOVHstore [i-1] {s} ptr (REV16W <w.Type> w) mem) |
| 2939 | + => (MOVHstore [i-1] {s} ptr (REV16W <typ.UInt16> w) mem) |
2940 | 2940 | (MOVBstore [1] {s} (ADD ptr1 idx1) w x:(MOVBstoreidx ptr0 idx0 (UBFX [armBFAuxInt(8, 8)] w) mem))
|
2941 | 2941 | && x.Uses == 1
|
2942 | 2942 | && s == nil
|
2943 | 2943 | && (isSamePtr(ptr0, ptr1) && isSamePtr(idx0, idx1) || isSamePtr(ptr0, idx1) && isSamePtr(idx0, ptr1))
|
2944 | 2944 | && clobber(x)
|
2945 |
| - => (MOVHstoreidx ptr0 idx0 (REV16W <w.Type> w) mem) |
| 2945 | + => (MOVHstoreidx ptr0 idx0 (REV16W <typ.UInt16> w) mem) |
2946 | 2946 | (MOVBstoreidx ptr (ADDconst [1] idx) w x:(MOVBstoreidx ptr idx (UBFX [armBFAuxInt(8, 8)] w) mem))
|
2947 | 2947 | && x.Uses == 1
|
2948 | 2948 | && clobber(x)
|
2949 |
| - => (MOVHstoreidx ptr idx (REV16W <w.Type> w) mem) |
| 2949 | + => (MOVHstoreidx ptr idx (REV16W <typ.UInt16> w) mem) |
2950 | 2950 | (MOVBstoreidx ptr idx w x:(MOVBstoreidx ptr (ADDconst [1] idx) (UBFX [armBFAuxInt(8, 8)] w) mem))
|
2951 | 2951 | && x.Uses == 1
|
2952 | 2952 | && clobber(x)
|
2953 | 2953 | => (MOVHstoreidx ptr idx w mem)
|
2954 | 2954 | (MOVBstore [i] {s} ptr w x:(MOVBstore [i-1] {s} ptr (SRLconst [8] (MOVDreg w)) mem))
|
2955 | 2955 | && x.Uses == 1
|
2956 | 2956 | && clobber(x)
|
2957 |
| - => (MOVHstore [i-1] {s} ptr (REV16W <w.Type> w) mem) |
| 2957 | + => (MOVHstore [i-1] {s} ptr (REV16W <typ.UInt16> w) mem) |
2958 | 2958 | (MOVBstore [1] {s} (ADD ptr1 idx1) w x:(MOVBstoreidx ptr0 idx0 (SRLconst [8] (MOVDreg w)) mem))
|
2959 | 2959 | && x.Uses == 1
|
2960 | 2960 | && s == nil
|
2961 | 2961 | && (isSamePtr(ptr0, ptr1) && isSamePtr(idx0, idx1) || isSamePtr(ptr0, idx1) && isSamePtr(idx0, ptr1))
|
2962 | 2962 | && clobber(x)
|
2963 |
| - => (MOVHstoreidx ptr0 idx0 (REV16W <w.Type> w) mem) |
| 2963 | + => (MOVHstoreidx ptr0 idx0 (REV16W <typ.UInt16> w) mem) |
2964 | 2964 | (MOVBstore [i] {s} ptr w x:(MOVBstore [i-1] {s} ptr (UBFX [armBFAuxInt(8, 24)] w) mem))
|
2965 | 2965 | && x.Uses == 1
|
2966 | 2966 | && clobber(x)
|
2967 |
| - => (MOVHstore [i-1] {s} ptr (REV16W <w.Type> w) mem) |
| 2967 | + => (MOVHstore [i-1] {s} ptr (REV16W <typ.UInt16> w) mem) |
2968 | 2968 | (MOVBstore [1] {s} (ADD ptr1 idx1) w x:(MOVBstoreidx ptr0 idx0 (UBFX [armBFAuxInt(8, 24)] w) mem))
|
2969 | 2969 | && x.Uses == 1
|
2970 | 2970 | && s == nil
|
2971 | 2971 | && (isSamePtr(ptr0, ptr1) && isSamePtr(idx0, idx1) || isSamePtr(ptr0, idx1) && isSamePtr(idx0, ptr1))
|
2972 | 2972 | && clobber(x)
|
2973 |
| - => (MOVHstoreidx ptr0 idx0 (REV16W <w.Type> w) mem) |
| 2973 | + => (MOVHstoreidx ptr0 idx0 (REV16W <typ.UInt16> w) mem) |
2974 | 2974 |
|
2975 | 2975 | // FP simplification
|
2976 | 2976 | (FNEGS (FMULS x y)) => (FNMULS x y)
|
|
0 commit comments