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.
Oh, sure, but that may not need to block moving all the sm4 code to the same file. I.e., in terms of sequence, what I'd imagine would be:
1. Rename hlsl_sm4.c to sm4.c. 2. Move the sm4 bits in dxbc.c to sm4.c. 3. Merge sm4.h into sm4.c.
It wouldn't necessarily need to involve a lot of changes to the existing code in hlsl_sm4.c.