2 // Idealy, we would fold the operations from a...h into one long xor chain,
3 // we could then commute the xor operation.
5 // More realisticly, we should assign each of a...h to one reg, rather than making
6 // the two swap between two registers:
7 // (stind.i4 regvar[%edi] (xor (ldind.i4 regoffset[-0x18(%ebp)]) iconst[1]))
8 // (stind.i4 regvar[%esi] (xor (ldind.i4 regvar[%edi]) iconst[2]))
9 // (stind.i4 regvar[%edi] (xor (ldind.i4 regvar[%esi]) iconst[3]))
10 // (stind.i4 regvar[%esi] (xor (ldind.i4 regvar[%edi]) iconst[4]))
16 int j = 0, k = 0, l = 0;
17 for (int i = 0; i < 50000000; i ++) {