Qual é a diferença entre __popcnt () e _mm_popcnt_u32 ()?

O MS Visual C ++ suporta 2 sabores da instrução popcnt em CPUs com SSE4.2:

__popcnt()_mm_popcnt_u32()

A única diferença que encontrei foi que os documentos para__popcnt() estão marcados como "Microsoft Specific" e_mm_popcnt_u32() parece ser um nome de comando intrínseco (não específico do MS).

Esta é a única diferença, onde o MS__popcnt() apenas chama o HW_mm_popcnt_u32()?

questionAnswers(1)

yourAnswerToTheQuestion