From a67a19dd0bf6be5eb765cac87eb03d16286c11e0 Mon Sep 17 00:00:00 2001 From: dzaima Date: Thu, 29 Jun 2023 01:31:58 +0300 Subject: [PATCH] move pair{{a,b}} expanding to base.singeli --- src/singeli/src/avx.singeli | 1 - src/singeli/src/base.singeli | 1 + 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/src/singeli/src/avx.singeli b/src/singeli/src/avx.singeli index c88a7070..efdaa693 100644 --- a/src/singeli/src/avx.singeli +++ b/src/singeli/src/avx.singeli @@ -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} diff --git a/src/singeli/src/base.singeli b/src/singeli/src/base.singeli index a41c577d..53ad444a 100644 --- a/src/singeli/src/base.singeli +++ b/src/singeli/src/base.singeli @@ -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