Value | Meaning |
---|---|
no_class | This class is used as initializer in the algorithms. It will be used for padding and empty structures and unions. |
integer | This class consists of integral types that fit into one of the general purpose registers. |
sse | The class consists of types that fit into a vector register. |
sse_up | The class consists of types that fit into a vector register and can be passed and returned in the upper bytes of it. |
x87 | These classes consists of types that will be returned via the x87 FPU. |
x87_up | ditto |
complex_x87 | This class consists of types that will be returned via the x87 FPU. |
memory | This class consists of types that will be passed and returned in memory via the stack. |
2 AbiClass slots is enough to classify structs containing m128/m256/m512 types. They can be the only value in the struct. The only rules needed to find types that are passed in registers, are: - m128/m256/m512 must have offset of 0 - basic types must have offset < 16