Optimizing reverse movmskb code
Your code is SSE but not AVX, so here is the SSE version to generate the mask. The second part is same as yours. I modified it from my other code and NEVER tested:

; generate the bit mask
pcmpeqd         xmm15, xmm15  ; FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF
psrlq           xmm15, 63     ; 00000000 00000001 00000000 00000001
movdqa          xmm14, xmm15  ;
psllq           xmm14, 17     ; 00000000 00020000 00000000 00020000
por             xmm15, xmm14  ; 00000000 00020001 00000000 00020001
movdqa          xmm14, xmm15
psllq           xmm14, 34     ; 00080004 00000000 00080004 00000000
por             xmm15, xmm14  ; 00080004 00020001 00080004 00020001
movdqa          xmm14, xmm15
psllq           xmm14, 4      ; 00800040 00200010 00800040 00200010
punpcklqdq      xmm15, xmm14  ; 00800040 00200010 00080004 00020001

; generate the second bit mask
movdqa          xmm15, xmm14
psllw           xmm15, 8      ; 80004000 20001000 08000400 02000100

; load and broadcast DX
movd            xmm0, edx     ; xmm0 = sliver
pshuflw         xmm0, xmm0, 0 ; xmm0 = sliver * 4
pshufd          xmm0, xmm0, 0 ; xmm0 = sliver * 8
movdqa          xmm1, xmm0

; apply the mask
pand            xmm0, xmm14   ; apply mask
pand            xmm1, xmm15   ; apply mask
pcmpeqw         xmm0,xmm14    ; mask to FFFF
pcmpeqw         xmm1,xmm15    ; mask to FFFF


If you are using AVX, you can omit those movdqa and the code will look better. The SSE version is long and I am not sure its better than a simple memory read, as your did.