        <para>
            The function returns a 0 if the specified relation is <constant>false</constant> and a 
            1 if the specified relation is <constant>true</constant> for scalar argument types. These 
            functions shall return a 0 if the specified relation is <constant>false</constant> and a - 1 
            (i.e. all bits set) if the specified relation is <constant>true</constant> for vector argument types. 
        </para>