[Bug target/70359] New: Code size increase for ARM compared to gcc-5.3.0
fredrik.hederstierna@securitas-direct.com
gcc-bugzilla@gcc.gnu.org
Tue Mar 22 13:49:00 GMT 2016
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70359
Bug ID: 70359
Summary: Code size increase for ARM compared to gcc-5.3.0
Product: gcc
Version: unknown
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: target
Assignee: unassigned at gcc dot gnu.org
Reporter: fredrik.hederstierna@securitas-direct.com
Target Milestone: ---
Created attachment 38058
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=38058&action=edit
inttostr.c
Code size increase on master for ARM target compared to gcc-5.3.0
Target: arm-none-eabi
Flags: -Os -mcpu=arm966e-s -marm
gcc 5.3.0:
00000000 <inttostr>:
0: e3a03000 mov r3, #0
4: e92d4070 push {r4, r5, r6, lr}
8: e1a06000 mov r6, r0
c: e2422001 sub r2, r2, #1
10: e0205fc0 eor r5, r0, r0, asr #31
14: e0455fc0 sub r5, r5, r0, asr #31
18: e0814002 add r4, r1, r2
1c: e7c13002 strb r3, [r1, r2]
20: e1a00005 mov r0, r5
24: e3a0100a mov r1, #10
28: ebfffffe bl 0 <__aeabi_uidivmod>
2c: e2811030 add r1, r1, #48 ; 0x30
30: e5641001 strb r1, [r4, #-1]!
34: e1a00005 mov r0, r5
38: e3a0100a mov r1, #10
3c: ebfffffe bl 0 <__aeabi_uidiv>
40: e2505000 subs r5, r0, #0
44: 1afffff5 bne 20 <inttostr+0x20>
48: e3560000 cmp r6, #0
4c: b3a0302d movlt r3, #45 ; 0x2d
50: b5443001 strblt r3, [r4, #-1]
54: b2444001 sublt r4, r4, #1
58: e1a00004 mov r0, r4
5c: e8bd8070 pop {r4, r5, r6, pc}
gcc-6-20160313 snapshot from master:
00000000 <inttostr>:
0: e3a03000 mov r3, #0
4: e92d41f0 push {r4, r5, r6, r7, r8, lr}
8: e1a07000 mov r7, r0
c: e3a0800a mov r8, #10
10: e2422001 sub r2, r2, #1
14: e0206fc0 eor r6, r0, r0, asr #31
18: e0466fc0 sub r6, r6, r0, asr #31
1c: e0815002 add r5, r1, r2
20: e7c13002 strb r3, [r1, r2]
24: e1a00006 mov r0, r6
28: e1a01008 mov r1, r8
2c: ebfffffe bl 0 <__aeabi_uidivmod>
30: e2811030 add r1, r1, #48 ; 0x30
34: e5451001 strb r1, [r5, #-1]
38: e1a00006 mov r0, r6
3c: e1a01008 mov r1, r8
40: ebfffffe bl 0 <__aeabi_uidiv>
44: e2506000 subs r6, r0, #0
48: e2454001 sub r4, r5, #1
4c: 1a000005 bne 68 <inttostr+0x68>
50: e3570000 cmp r7, #0
54: b3a0302d movlt r3, #45 ; 0x2d
58: b5443001 strblt r3, [r4, #-1]
5c: b2454002 sublt r4, r5, #2
60: e1a00004 mov r0, r4
64: e8bd81f0 pop {r4, r5, r6, r7, r8, pc}
68: e1a05004 mov r5, r4
6c: eaffffec b 24 <inttostr+0x24>
More information about the Gcc-bugs
mailing list