This patch adds a new fold:
(zext (xor/and/or (load x), (load y))) -> (xor/and/or (zextload x), (zextload y))
Which enables further optimizations that allows simplifying quite a
few memcmp cases (specifically on AArch64).
(This is largely a test/proof of concept right now)