Quoting "Lu, John" :
However, if I modify the function so that one of the factors is reused,
long f1(long a, long b, long c) {
res0=((long long) a)*((long long) b);
res1=((long long) c)*((long long) b);
}
combine will not fuse the reused sign-extension result to generate th
Hi,
I'm working on compiler for an architecture with a multiply instruction that
takes two 32-bit factors, sign-extends both factors to 64-bits and then does a
64-bit multiplication and stores the result to a destination register. The
combine pass successfully generates the pattern (mulhizi3) f