LoopAffine: base + iteration * stride, the product by repeated addition.
rdi holds the descriptor; rax, r10 and r11 are the resolver's scratch
3123def nativePhysicalNativeResolveLoopAffineBlock =
3124 (lambda unrestricted tail : (family X86NativeAssembly) .
3125 (nativePhysicalNativeLabel
3126 nativePhysicalNativeLabelResolveLoopAffine
3127 (npLoad64
3128 npRAX
3129 npRDI
3130 nativePhysicalNativeD8
3131 (npLoad64
3132 npR11
3133 npRDI
3134 (npD (byte 16))
3135 (npScratchInto
3136 npR10
3137 (npLoad64
3138 npR10
3139 npR10
3140 nativePhysicalNativeD0
3141 (nativePhysicalNativeLabel
3142 nativePhysicalNativeLabelResolveLoopAffineStep
3143 (npTest
3144 npR10
3145 (nativePhysicalNativeJumpCondition
3146 npZero
3147 nativePhysicalNativeLabelResolveLoopAffineDone
3148 (npAdd
3149 npRAX
3150 npR11
3151 (npAddImmediate
3152 npR10
3153 nativePhysicalNativeI32NegativeOne
3154 (nativePhysicalNativeJump
3155 nativePhysicalNativeLabelResolveLoopAffineStep
3156 (nativePhysicalNativeLabel
3157 nativePhysicalNativeLabelResolveLoopAffineDone
3158 (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.