Jakub Jelinek <ja...@redhat.com> writes: > Hi! > > The x86 intrinsics allow andnot on MODE_VECTOR_FLOAT modes, but > such modes have NULL CONSTM1_RTX and are not appropriate for the > transformation anyway. > > The following patch fixes that, ok if bootstrap/regtest passes? > Or would you prefer to replace the > && CONSTM1_RTX (mode) > check with e.g. > && (MODE_CLASS (mode) == MODE_INT > || MODE_CLASS (mode) == MODE_VECTOR_INT) > (dunno if we want to handle that way also partial int modes or not, > no experience with those)? > The transformation relies on 2's complement, so certainly doesn't apply > to floating modes (scalar or vector), but even MODE_COMPLEX_INT doesn't > have CONSTM1_RTX.
Is it valid to have (not: ...) of a floating-point mode? I thought it had to have an integer mode. FWIW, in the SVE patches, we deliberately used unspecs for floating-point logic to avoid this. Thanks, Richard