move pair{{a,b}} expanding to base.singeli
This commit is contained in:
parent
32064d4de3
commit
a67a19dd0b
@ -94,7 +94,6 @@ def ceil{a:[4]f64} = emit{[4]f64, '_mm256_ceil_pd', a}
|
||||
def half{x:T, i & w256{T} & knum{i}} = v_half{T} ~~ emit{[8]i16, '_mm256_extracti128_si256', v2i{x}, i}
|
||||
def half{x:T, i==0 & w256{T}} = v_half{T} ~~ emit{[8]i16, '_mm256_castsi256_si128', v2i{x}}
|
||||
def pair{a:T,b:T & width{T}==128} = v_dbl{T} ~~ emit{[8]i32, '_mm256_setr_m128i', a, b}
|
||||
def pair{{a, b}} = pair{a, b}
|
||||
|
||||
def widen{T==[4]f64, x:X & X==[4]i32} = emit{T, '_mm256_cvtepi32_pd', x}
|
||||
def widen{T==[4]f64, x:X & X==[4]f32} = emit{T, '_mm256_cvtps_pd', x}
|
||||
|
||||
@ -202,6 +202,7 @@ def widen{T, x:X & T==X} = x
|
||||
def narrow{T, x:X & T==eltype{X}} = x
|
||||
def undefPromote{T, x:X & T==X} = T~~x
|
||||
def packQ{{a, b}} = packQ{a, b}
|
||||
def pair{{a, b}} = pair{a, b}
|
||||
def cvt{T, x:X & T==eltype{X}} = x
|
||||
|
||||
def min{a, b & anyNum{a} & anyNum{b}} = tern{a<b, a, b}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user