security/libxcrypt: Use upstream release archive and improve port
* Use upstream release tarball, removed USES= autoreconf dependency
* Remove patch, not necessary
* Add Perl5 build dependency
* Use INSTALL_TARGET instead of post-install for stripping
* Remove "make test" info, this shouldn't go into the port Makefile
PR: 290822
Approved by: maintainer timeout, 1+ month
[libc++] LWG3627: Inconsistent specifications for `std::make_optional` overloads (#173466)
It should be sufficient to use `is_constructible_v<decay_t<T>, T>` in
the constraints, because the `const optional<U>&`/`optional<U>&&`
constructors are sufficiently constrained.
Drive-by: Refactor
`libcxx/test/std/utilities/optional/optional.specalg/make_optional.pass.cpp`
to run more cases during constant evaluation.
InstCombine: Positive normal exp results imply possible negative normal inputs (#174273)
Fix mishandling exp where the result is known to only be a negative
normal.
[LV][doc] Update and extend the docs on floating-point reduction vectorization (#172809)
The docs for reduction vectorization currently say that
> We support floating point reduction operations when -ffast-math is
used.
This is outdated, as there are now cases where floating-point reductions
are vectorized even without -ffast-math, through ordered reduction.
This PR updates the documentation for reduction vectorization, noting
that that AArch64 and RISC-V default to ordered FP reductions being
permitted. Furthermore, an explanation of why the vectorization of FP
reduction is such a special case is added to the docs.
---------
Co-authored-by: GYT <tiborgyri at gmail.com>
Co-authored-by: Florian Hahn <flo at fhahn.com>
ValueTracking: Improve handling of fadd in computeKnownFPClass. (#174123)
This already recognized that if both inputs are positive, the
result is positive. Extend this to the mirror situation with
negative inputs.
Also special case fadd x, x. Canonically, fmul x, 2 is fadd x, x.
We can tell the sign bit won't change, and 0 will propagate.