@@ -25,7 +25,7 @@ using .Base: sign_mask, exponent_mask, exponent_one,
2525 significand_bits, exponent_bits, exponent_bias,
2626 exponent_max, exponent_raw_max, clamp, clamp!
2727
28- using Core. Intrinsics: sqrt_llvm
28+ using Core. Intrinsics: sqrt_llvm, min_float, max_float
2929
3030using . Base: IEEEFloat
3131
@@ -833,23 +833,12 @@ minmax(x::T, y::T) where {T<:AbstractFloat} = min(x, y), max(x, y)
833833
834834_isless (x:: Float16 , y:: Float16 ) = signbit (widen (x) - widen (y))
835835
836- Base. @assume_effects :total @inline llvm_min (x:: Float64 , y:: Float64 ) = ccall (" llvm.minimum.f64" , llvmcall, Float64, (Float64, Float64), x, y)
837- Base. @assume_effects :total @inline llvm_min (x:: Float32 , y:: Float32 ) = ccall (" llvm.minimum.f32" , llvmcall, Float32, (Float32, Float32), x, y)
838- Base. @assume_effects :total @inline llvm_min (x:: Float16 , y:: Float16 ) = ccall (" llvm.minimum.f16" , llvmcall, Float16, (Float16, Float16), x, y)
839- Base. @assume_effects :total @inline llvm_max (x:: Float64 , y:: Float64 ) = ccall (" llvm.maximum.f64" , llvmcall, Float64, (Float64, Float64), x, y)
840- Base. @assume_effects :total @inline llvm_max (x:: Float32 , y:: Float32 ) = ccall (" llvm.maximum.f32" , llvmcall, Float32, (Float32, Float32), x, y)
841- Base. @assume_effects :total @inline llvm_max (x:: Float16 , y:: Float16 ) = ccall (" llvm.maximum.f16" , llvmcall, Float16, (Float16, Float16), x, y)
842-
843836function min (x:: T , y:: T ) where {T<: Union{Float16,Float32,Float64} }
844- return llvm_min (x,y)
837+ return min_float (x, y)
845838end
846839
847840function max (x:: T , y:: T ) where {T<: Union{Float16,Float32,Float64} }
848- return llvm_max (x,y)
849- end
850-
851- function minmax (x:: T , y:: T ) where {T<: Union{Float16,Float32,Float64} }
852- return llvm_min (x, y), llvm_max (x, y)
841+ return max_float (x, y)
853842end
854843
855844"""
0 commit comments