------- Comment #3 from rguenth at gcc dot gnu dot org 2008-02-25 18:44 ------- I would expect the equivalent of
int tmp = a; tmp &= 0x0030; // fix the mask to be correct, all bits of b3 tmp |= 2 | 3 | 8; // constant folded and properly shifted a = tmp; I still see three ORs for ppc64 and non-combined rlwimi ops for ppc32. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35363