move pair{{a,b}} expanding to base.singeli

This commit is contained in:
dzaima 2023-06-29 01:31:58 +03:00
parent 32064d4de3
commit a67a19dd0b
2 changed files with 1 additions and 1 deletions

View File

@ -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}

View File

@ -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}