Andreas Fredriksson, a game programmer at Insomniac Games, shares GDC talks and slides on SIMD, caches, and web tools.
HN commenters link his SIMD slides as a practical guide for game developers on instruction sets and effective use of vector instructions.
This library doesn't seem to be focused on matrix math for computer graphics.
FWIW, you don't tend to see a significant gain from writing those individual types as SIMD. The gain is from operations over large arrays of numbers. E.g. each vector has only one component type in it (e.g. you have vectors of [x0, x1, x2, x3] and [y0, y1, y2, y3] instead of [x0, y0, z0, w0] etc).
Here's a set of slides that elaborate further on what I mean and explain why: https://deplinenoise.files.wordpress.com/2015/03/gdc2015_afredriksson_simd.pdf
Heh, not the best example to make your point [in this context] because the presenter also manages a group that writes/maintains the companies web tools, which consists of 340,000 lines of Javascript and 500,000 lines of C++ server-side code.. :)
https://deplinenoise.files.wordpress.com/2017/03/webtoolspostmortem.pdf
My experience has been that people who are good at the bottom layers of the stack are good with the top layers of the stack, too. And if they're unfamiliar, they can ramp very up quickly.
[0] is a presentation on SIMD targeted at game developers. It has a lot of valuable information about instruction set support and how to make effective use of vector instructions. [1] is a HN comment that summarizes the content.
[0] https://deplinenoise.files.wordpress.com/2015/03/gdc2015_afredriksson_simd.pdf
[1] https://news.ycombinator.com/item?id=9312856
Indeed it's been a workhorse since forever. All the consoles from PS2 forward have included some form of SIMD and it is used extensively.
Here's a GDC 2015 article about SIMD at Insomniac Games.
https://deplinenoise.files.wordpress.com/2015/03/gdc2015_afredriksson_simd.pdf
Another GDC17 talk with the other side of the coin: https://deplinenoise.files.wordpress.com/2017/03/webtoolspostmortem.pdf
(Not specifically anything to do with webgl, more about using web tools vs. native for a non-trivial application)
See the following pdf for example on how to do this with SSSE3 (pages 104-133) or even SSE2 (pages 151-173)
https://deplinenoise.files.wordpress.com/2015/03/gdc2015_afredriksson_simd.pdf