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.
343 // TODO: SVE is not supported yet.
444 /// Returns the size of the entire SVE stackframe (calleesaves + spills).
466 // If neither NEON or SVE are available, a COPY from one Q-reg to
652 // Not all unwinders may know about SVE registers, so assume the lowest
723 bool SVE) {
737 if (SVE !=
742 if (SVE &&
768 // architectural limit on the size of a SVE register.
822 // have SVE objects, we can use a more efficient sequence for stack probing.
1183 // When there is an SVE area on the stack, always allocate the
1399 // For Darwin platforms we don't save VG for non-SVE functions, even if SME
1611 // Convenience function to determine whether I is an SVE callee save.
1761 // This is necessary to spill VG if required where SVE is unavailable, but
1884 "unexpected function without stack frame but with SVE objects");
1928 assert(!SVEStackSize && "Cannot combine SP bump with SVE");
2016 // LR if those are saved). Frame instructions for SVE register are emitted
2017 // later, after the instruction which actually save SVE regs.
2157 // Process the SVE callee-saves to determine what space needs to be
2185 // Allocate space for the rest of the frame including SVE locals. Align the
2444 assert(!SVEStackSize && "Cannot combine SP bump with SVE");
2467 // Process the SVE callee-saves to determine what space needs to be
2486 // Deallocate the SVE area.
2489 // restore the stack pointer from the frame pointer prior to SVE CSR
2493 // Set SP to start of SVE callee-save area from which they can
2502 // Deallocate the non-SVE locals first before we can deallocate (and
2503 // restore callee saves) from the SVE area.
2640 // This is correct in the absence of any SVE stack objects.
2732 // there are scalable (SVE) objects in between the FP and the fixed-sized
2802 // Always use the FP for SVE spills if available and beneficial.
3375 // Update the StackIDs of the SVE stack slots.
3416 // For performance reasons restore SVE register in increasing order
3782 // Conservatively always assume BigStack when there are SVE spills.
3988 /// returns true if there are any SVE callee saves.
4003 "SVE CalleeSaves are not consecutive");
4012 // Process all the SVE stack objects and determine offsets for each
4025 "SVE vectors should never be passed on the stack by value, only by "
4050 // Create a buffer of SVE objects to allocate and sort it.
4052 // If we have a stack protector, and we've previously decided that we have SVE
4053 // objects on the stack and thus need it to go in the SVE stack area, then it
4075 // Allocate all SVE locals and spills
4078 // FIXME: Given that the length of SVE vectors is not necessarily a power of
5030 FPR = 1 << 2, // A floating point/Neon/SVE register.