I'd also argue for merging hlsl_sm4.c and sm4.h into the same file.
This may also be reasonable, although I think it may depend on more prototyping being done first...
Not sure I understand?
hlsl_sm4.c in its current state very much mixes sm4 and hlsl definitions. Separating those might be desirable, but will take effort, and the exact lines are in question, especially since there's still open questions about using vkd3d_shader_instruction here.