    <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>
<!-- 13-Oct-2011 -->

