Move compare "decomposition" code
In the original implementation long compares were decomposed in LowerCompare and the rest of the work was done in TreeNodeInfoInitCmp, this restores that ordering.
This enables the and-cmp to test transform for the high part comparison of a long comparison on 32 bit. The low part is unfortunately not handled because the CMP and the AND are in different BBs.
Code like
mov eax, dword ptr [edi]
mov edi, dword ptr [edi+4]
and eax, 0xD1FFAB1E
and edi, 0xD1FFAB1E
jne SHORT G_M14457_IG11
test eax, eax
je G_M14457_IG15
becomes
mov eax, dword ptr [edi]
and eax, 0xD1FFAB1E
test dword ptr [edi+4], 0xD1FFAB1E
jne SHORT G_M14457_IG11
test eax, eax
je G_M14457_IG15