Cómo calcular el producto Vector Dot utilizando las funciones intrínsecas SSE en C

Estoy tratando de multiplicar dos vectores juntos donde cada elemento de un vector se multiplica por el elemento en el mismo índice en el otro vector. Luego quiero sumar todos los elementos del vector resultante para obtener un número. Por ejemplo, el cálculo se vería así para los vectores {1,2,3,4} y {5,6,7,8}:

1 * 5 + 2 * 6 + 3 * 7 + 4 * 8

Esencialmente, estoy tomando el producto escalar de los dos vectores. Sé que hay un comando SSE para hacer esto, pero el comando no tiene una función intrínseca asociada. En este punto, no quiero escribir un ensamblaje en línea en mi código C, por lo que quiero usar solo funciones intrínsecas. Esto parece un cálculo común, así que me sorprende que no haya podido encontrar la respuesta en Google.

Nota: Estoy optimizando para una microarquitectura específica que admite hasta SSE 4.2.

Gracias por tu ayuda.