Enable default behavior for pmin, predux_min, etc

Reference issue

What does this implement/fix?

Currently, the default implementation for predux_min<PropagateFast> (and max) defaults to a scalar loop. This MR forwards predux_min<PropagateFast, Packet> to predux_min<Packet>, which is available on most platforms. If the packet type is integral, all propagation types are forwarded to predux_min<Packet>. Similarly for pmin<NaNPropagation>.

In summary:

Floating point types:

Requested Default
op<PropagateFast, Packet> op
op<PropagateNaN, Packet? specialized
op<PropagateNumbers, Packet> specialized

Integral types:

Requested Default
op<PropagateFast, Packet> op
op<PropagateNaN, Packet> op
op<PropagateNumbers, Packet> op

This deletes the PropagateFast specializations for the intel platforms as they are redundant.

Additional information

Edited by Charles Schlosser

Merge request reports

Loading