Lines Matching +full:right +full:- +full:aligned
1 //===-- SparcCallingConv.td - Calling Conventions Sparc ----*- tablegen -*-===//
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7 //===----------------------------------------------------------------------===//
11 //===----------------------------------------------------------------------===//
13 //===----------------------------------------------------------------------===//
14 // SPARC v8 32-bit.
15 //===----------------------------------------------------------------------===//
25 // v2i32 if it wasn't allocated to the IntPair register-class)
29 // Alternatively, they are assigned to the stack in 4-byte aligned units.
41 //===----------------------------------------------------------------------===//
42 // SPARC v9 64-bit.
43 //===----------------------------------------------------------------------===//
45 // The 64-bit ABI conceptually assigns all function arguments to a parameter
48 // 64 bits by the caller. Floats are right-aligned in their 8-byte slot, the
59 // Structs up to 16 bytes in size are passed by value. They are right-aligned
60 // in one or two 8-byte slots in the parameter array. Struct members are
93 // - Annotate integer arguments with zeroext or signext attributes.
95 // - Split structs into one or two 64-bit sized chunks, or 32-bit chunks with
98 // - Pass structs larger than 16 bytes indirectly with an explicit pointer
103 // - Assign all arguments to 64-bit aligned stack slots, 32-bits for inreg.
105 // - Promote to integer or floating point registers depending on type.
138 // Callee-saved registers are handled by the register window mechanism.
144 // Callee-saved registers for calls with ReturnsTwice attribute.