[Bug middle-end/42501] [4.4 only] Code bloating on operations with bit fields
ramana at gcc dot gnu dot org
gcc-bugzilla@gcc.gnu.org
Wed Dec 30 00:19:00 GMT 2009
------- Comment #1 from ramana at gcc dot gnu dot org 2009-12-30 00:19 -------
This appears to be a 4.4 only size regression and this appears to be fixed on
trunk.
With -Os -march=armv5te -mthumb size is 44 bytes on trunk as of today. gcc
version 4.5.0 20091229 (experimental) (GCC)
00000000 <number_blocks>:
0: b5f0 push {r4, r5, r6, r7, lr}
2: 4b09 ldr r3, [pc, #36] ; (28 <number_blocks+0x28>)
4: 2200 movs r2, #0
6: 681b ldr r3, [r3, #0]
8: 2503 movs r5, #3
a: e007 b.n 1c <number_blocks+0x1c>
c: c910 ldmia r1!, {r4}
e: 009f lsls r7, r3, #2
10: 6826 ldr r6, [r4, #0]
12: 3201 adds r2, #1
14: 402e ands r6, r5
16: 433e orrs r6, r7
18: 3301 adds r3, #1
1a: 6026 str r6, [r4, #0]
1c: 4282 cmp r2, r0
1e: dbf5 blt.n c <number_blocks+0xc>
20: 4a01 ldr r2, [pc, #4] ; (28 <number_blocks+0x28>)
22: 6013 str r3, [r2, #0]
24: bdf0 pop {r4, r5, r6, r7, pc}
26: 46c0 nop ; (mov r8, r8)
28: 00000000 .word 0x00000000
--
ramana at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Ever Confirmed|0 |1
Last reconfirmed|0000-00-00 00:00:00 |2009-12-30 00:19:26
date| |
Summary|Code bloating on operations |[4.4 only] Code bloating on
|with bit fields |operations with bit fields
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42501
More information about the Gcc-bugs
mailing list