http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53087
--- Comment #4 from Steven Bosscher <steven at gcc dot gnu.org> 2012-04-23 20:13:29 UTC --- Smaller test case: _Bool foo (long unsigned int a) { return (((1L << a) & 217579583UL) != 0); } ==> .file "t.c" .section ".toc","aw" .section ".text" .align 2 .p2align 4,,15 .globl foo .section ".opd","aw" .align 3 foo: .quad .L.foo,.TOC.@tocbase,0 .previous .type foo, @function .L.foo: li 10,1 lis 9,0xcf8 sld 3,10,3 ori 9,9,63 and. 10,3,9 mfcr 3 rlwinm 3,3,3,1 xori 3,3,1 blr .long 0 .byte 0,0,0,0,0,0,0,0 .size foo,.-.L.foo .ident "GCC: (GNU) 4.8.0 20120418 (experimental) [trunk revision 186580]"