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.hederstie...@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>