Hi, Please find attached the patch "PR25529.patch" that converts the pattern:- (unsigned * 2)/2 is into unsigned &0x7FFFFFFF Please review and let me know if its okay. Regression tested on AARH64 and x86_64. Thanks, Naveen gcc/testsuite/ChangeLog: 2015-07-07 Naveen H.S PR middle-end/25529 * gcc.dg/pr25529.c: New test. gcc/ChangeLog: 2015-07-07 Naveen H.S PR middle-end/25529 * match.pd (div (mult @0 INTEGER_CST@1) INTEGER_CST@1) : New simplifier.