Confusion with write_imagef()

CL spec specifies that the color values for different types of channel orders as below.
CL_R, CL_Rx (r, 0.0, 0.0, 1.0)
CL_A (0.0, 0.0, 0.0, a)
CL_RG, CL_RGx (r, g, 0.0, 1.0)
CL_RA (r, 0.0, 0.0, a)
CL_RGB, CL_RGBx (r, g, b, 1.0)
CL_RGBA, CL_BGRA, CL_ARGB (r, g, b, a)
CL_INTENSITY (I, I, I, I)
CL_LUMINANCE (L, L, L, 1.0)

In case of write_image(f|i|ui) functions what would happen is the pixel values are not exactly in the format as shown above?
Ex:
for pixel value of
CL_INTENSITY (a, b, c, d)
CL_R, CL_Rx (r, a, b, 1.0)

Should the spec specify any conversion rule for this kind of values or its users responsibility to use correct color value?

thank you.

Search the spec for the following sentence:

The following table describes the mapping of the number of channels of an image element to the appropriate components in the float4, int4 or uint4 vector data type for the color values returned by read_image{f|i|ui} or supplied to write_image{f|i|ui}. The unmapped components will be set to 0.0 for red, green and blue channels and will be set to 1.0 for the alpha channel.

It’s on page 242 of OpenCL 1.1 revision 33.