On 11/24/2014 06:11 AM, Zhenqiang Chen wrote: > Expand pass always uses sign-extend to represent constant value. For the > case in the patch, a 8-bit unsigned value "252" is represented as "-4", > which pass the ccmn check. After mode conversion, "-4" becomes "252", which > leads to mismatch.
This sort of thing is why I suggested from the beginning that expansion happen directly from trees instead of sort-of re-expanding from rtl. I think you're better off fixing this properly than hacking around it here. r~