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.