You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Dec 22, 2021. It is now read-only.
In #81, we wanted some performance data to support the inclusion of 64x2 instructions. In https://github.com/ngzhian/simd-benchmarks we documented steps to run benchmarks, and the results of running those benchmarks.
I would like to suggest the inclusion of 64x2 instructions back into the spec because we see real world workloads that benefit from these 64x2 instructions.
However, we don't see all 64x2 instructions getting the same usage and exposure, as such, we might want to consider including only a subset of these instructions.
Option 1, all 64x2 instructions 👀
i64x2.{splat,extract_lane,replace_lane}
i64x2.{add,sub,mul,neg}
i64x2.{shl,shr_s,shr_u}
i64x2.{any_true,all_true}
i64x2.{eq,le,lts,ltu,gts,gtu,les,leu,ges,geu}
i64x2.{abs,min,max}
i64x2.trunc_{s,u}/f64x2
f64x2.{splat,extract_lane,replace_lane}
f64x2.{add,sub,mul,neg}
f64x2.{div,sqrt}
f64x2.{shl,shr_s,shr_u}
f64x2.{any_true,all_true}
f64x2.{eq,le,lt,ge,gt}
f64x2.{abs,min,max}
f64x2.convert_{s,u}/i64x2
Option 2, only f64x2 instructions 🚀
all the f64x2 instructions (including conversions) from Option 1
Option 3, f64x2 instructions and common i64x2 instructions 🎉
all the f64x2 instructions (including conversions) from Option 1
i64x2.{splat,extract_lane,replace_lane}
i64x2.{add,sub,mul,neg}
i64x2.{shl,shr_s,shr_u}
I can put up a PR for changes to the docs when one of these options is decided.
Feel free to vote on this issue, eyes 👀 for 1, rocket 🚀 for 2, tada 🎉 for 3.
tlively, arunetm, dtig, Maratyszcza, irakliy81 and 3 morepenzn