# dmd.argtypes_sysv_x64

Break down a D type into basic (register) types for the x86_64 System V ABI.

#### Authors

Martin Kinkelin

#### License

Boost License 1.0

Source: argtypes_sysv_x64.d

Documentation: https://dlang.org/phobos/dmd_argtypes_sysv_x64.html

Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/argtypes_sysv_x64.d

- `toArgTypes_sysv_x64`

  #### Declaration

  `TypeTuple `toArgTypes_sysv_x64`(Type `t`);`

  This breaks a type down into 'simpler' types that can be passed to a function in registers, and returned in registers. This is the implementation for the x86_64 System V ABI (not used for Win64), based on https://www.uclibc.org/docs/psABI-x86_64.pdf.

  #### Parameters

  `Type `t`` | type to break down

  #### Return Value

  tuple of types, each element can be passed in a register. A tuple of zero length means the type cannot be passed/returned in registers. `null` indicates a `void`.