Hi Andrew,You mean using a DI rotate left by 4 and then saving the output as SI (saving the hi part and ignoring the low one) ?
Also, how is canonicalization detected anyway? Are there rules that gcc follows? How can they be changed?
Sami Andrew Pinski wrote:
output = (operand1 >> 28) | (operand2 << 4)Isn't that a rotate? if so you can use either rotate or rotatert instead.