LoopAffine: base + iteration * stride, the product by repeated addition.
rdi holds the descriptor; rax, r10 and r11 are the resolver's scratch
2892def nativePhysicalNativeResolveLoopAffineBlock =
2893 (lambda unrestricted tail : (family X86NativeAssembly) .
2894 (nativePhysicalNativeLabel
2895 nativePhysicalNativeLabelResolveLoopAffine
2896 (npLoad64
2897 npRAX
2898 npRDI
2899 nativePhysicalNativeD8
2900 (npLoad64
2901 npR11
2902 npRDI
2903 (npD (byte 16))
2904 (npScratchInto
2905 npR10
2906 (npLoad64
2907 npR10
2908 npR10
2909 nativePhysicalNativeD0
2910 (nativePhysicalNativeLabel
2911 nativePhysicalNativeLabelResolveLoopAffineStep
2912 (npTest
2913 npR10
2914 (nativePhysicalNativeJumpCondition
2915 npZero
2916 nativePhysicalNativeLabelResolveLoopAffineDone
2917 (npAdd
2918 npRAX
2919 npR11
2920 (npAddImmediate
2921 npR10
2922 nativePhysicalNativeI32NegativeOne
2923 (nativePhysicalNativeJump
2924 nativePhysicalNativeLabelResolveLoopAffineStep
2925 (nativePhysicalNativeLabel
2926 nativePhysicalNativeLabelResolveLoopAffineDone
2927 (nativePhysicalNativeEmit nativePhysicalNativeReturnInstruction tail))))))))))))))The compiler supplied declaration spans and resolved links from this source snapshot. This page does not assert that this file belongs to a checked closure.