https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68082
Bug ID: 68082 Summary: issue on 64 bit shift Product: gcc Version: 4.9.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: libgcc Assignee: unassigned at gcc dot gnu.org Reporter: angelo70 at gmail dot com Target Milestone: --- Dear all, testing gcc 4.9.0 toolchain for mcf5307 (coldfire) the code on target hangs (loops) on a 64 bit shift opration (between 2 nop's i put). I see that code (64 bit shift) is added from libgcc. ffc0ee2e <print_size>: ffc0ee2e: 4e56 ffd0 linkw %fp,#-48 ffc0ee32: 48d7 3c7c moveml %d2-%d6/%a2-%a5,%sp@ ffc0ee36: 2f2d 03d8 movel %a5@(984),%sp@- ffc0ee3a: 4282 clrl %d2 ffc0ee3c: 347c 003c moveaw #60,%a2 ffc0ee40: 266d 0008 moveal %a5@(8),%a3 ffc0ee44: 4e93 jsr %a3@ ffc0ee46: 588f addql #4,%sp ffc0ee48: 262d 051c movel %a5@(1308),%d3 ffc0ee4c: 4e71 nop ffc0ee4e: 2043 moveal %d3,%a0 ffc0ee50: 2f0a movel %a2,%sp@- ffc0ee52: 2f2e 000c movel %fp@(12),%sp@- ffc0ee56: 2f2e 0008 movel %fp@(8),%sp@- ffc0ee5a: 4e90 jsr %a0@ ffc0ee5c: 4fef 000c lea %sp@(12),%sp ffc0ee60: 2d40 fff8 movel %d0,%fp@(-8) ffc0ee64: 2d41 fffc movel %d1,%fp@(-4) ffc0ee68: 4e71 nop ffc0ee6a: 2843 moveal %d3,%a4 ffc0ee6c: 202e fff8 movel %fp@(-8),%d0 ffc0ee70: 222e fffc movel %fp@(-4),%d1 ffc0ee74: 2800 movel %d0,%d4 ffc0ee76: 8881 orl %d1,%d4 ffc0ee78: 670a beqs ffc0ee84 <print_size+0x56> ffc0ee7a: 206d 03d0 moveal %a5@(976),%a0 ffc0ee7e: 1430 2800 moveb %a0@(0000000000000000,%d2:l),%d2 I don't see anything strange in the opcodes, anyway, execution stops somewhere between the 2 nops.