Lines Matching defs:SVE

58 // | callee-saved fp/simd/SVE regs     |
62 // | SVE stack objects |
100 // area to allow SVE stack objects (allocated directly below the callee-saves,
102 // The SVE spill/fill instructions have VL-scaled addressing modes such
105 // For SVE the size of the vector length (VL) is not known at compile-time, so
108 // accessing the SVE object in the frame.
346 // TODO: SVE is not supported yet.
447 /// Returns the size of the entire SVE stackframe (calleesaves + spills).
469 // If neither NEON or SVE are available, a COPY from one Q-reg to
655 // Not all unwinders may know about SVE registers, so assume the lowest
729 bool SVE) {
743 if (SVE !=
748 if (SVE &&
774 // architectural limit on the size of a SVE register.
828 // have SVE objects, we can use a more efficient sequence for stack probing.
1189 // When there is an SVE area on the stack, always allocate the
1404 // For Darwin platforms we don't save VG for non-SVE functions, even if SME
1625 // Convenience function to determine whether I is an SVE callee save.
1775 // This is necessary to spill VG if required where SVE is unavailable, but
1898 "unexpected function without stack frame but with SVE objects");
1942 assert(!SVEStackSize && "Cannot combine SP bump with SVE");
2030 // LR if those are saved). Frame instructions for SVE register are emitted
2031 // later, after the instruction which actually save SVE regs.
2171 // Process the SVE callee-saves to determine what space needs to be
2199 // Allocate space for the rest of the frame including SVE locals. Align the
2457 assert(!SVEStackSize && "Cannot combine SP bump with SVE");
2480 // Process the SVE callee-saves to determine what space needs to be
2499 // Deallocate the SVE area.
2502 // restore the stack pointer from the frame pointer prior to SVE CSR
2506 // Set SP to start of SVE callee-save area from which they can
2515 // Deallocate the non-SVE locals first before we can deallocate (and
2516 // restore callee saves) from the SVE area.
2653 // This is correct in the absence of any SVE stack objects.
2745 // there are scalable (SVE) objects in between the FP and the fixed-sized
2814 // Always use the FP for SVE spills if available and beneficial.
3416 // Update the StackIDs of the SVE stack slots.
3457 // For performance reasons restore SVE register in increasing order
3838 // Conservatively always assume BigStack when there are SVE spills.
4045 /// returns true if there are any SVE callee saves.
4060 "SVE CalleeSaves are not consecutive");
4069 // Process all the SVE stack objects and determine offsets for each
4082 "SVE vectors should never be passed on the stack by value, only by "
4107 // Create a buffer of SVE objects to allocate and sort it.
4109 // If we have a stack protector, and we've previously decided that we have SVE
4110 // objects on the stack and thus need it to go in the SVE stack area, then it
4132 // Allocate all SVE locals and spills
4135 // FIXME: Given that the length of SVE vectors is not necessarily a power of
5108 FPR = 1 << 2, // A floating point/Neon/SVE register.