Device-side vector types can be accessed like struct types. e.g. float2 T.x, T.y.

However, the spec is silent (or I don't see where it is mentioned) on how this maps to the host-side types e.g. cl_float2 (is it a struct? array?). The nvidia implementation I have has defined this as an array type... but I don't see in the spec how I should know which values have been stored where... does T.x correspond to host T[0]? T[1]?

If this is in the spec and I didn't see it, please point out where.