From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id 97AAB3858D3C; Fri, 4 Feb 2022 16:29:35 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 97AAB3858D3C From: "sebastian.huber@embedded-brains.de" To: gcc-bugs@gcc.gnu.org Subject: [Bug target/50883] [ARM] Suboptimal optimization for small structures Date: Fri, 04 Feb 2022 16:29:35 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: target X-Bugzilla-Version: 4.6.2 X-Bugzilla-Keywords: missed-optimization X-Bugzilla-Severity: enhancement X-Bugzilla-Who: sebastian.huber@embedded-brains.de X-Bugzilla-Status: NEW X-Bugzilla-Resolution: X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-BeenThere: gcc-bugs@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-bugs mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 04 Feb 2022 16:29:35 -0000 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D50883 --- Comment #18 from Sebastian Huber -= -- clang 11 produces this code for the attached test case: clang -O2 -S -o - pr50883.c -target arm=20 clang-11.0: warning: unknown platform, assuming -mfloat-abi=3Dsoft clang-11.0: warning: unknown platform, assuming -mfloat-abi=3Dsoft .text .syntax unified .eabi_attribute 67, "2.09" @ Tag_conformance .cpu arm7tdmi .eabi_attribute 6, 2 @ Tag_CPU_arch .eabi_attribute 8, 1 @ Tag_ARM_ISA_use .eabi_attribute 9, 1 @ Tag_THUMB_ISA_use .eabi_attribute 34, 0 @ Tag_CPU_unaligned_access .eabi_attribute 17, 1 @ Tag_ABI_PCS_GOT_use .eabi_attribute 20, 1 @ Tag_ABI_FP_denormal .eabi_attribute 21, 0 @ Tag_ABI_FP_exceptions .eabi_attribute 23, 3 @ Tag_ABI_FP_number_model .eabi_attribute 24, 1 @ Tag_ABI_align_needed .eabi_attribute 25, 1 @ Tag_ABI_align_preserved .eabi_attribute 38, 1 @ Tag_ABI_FP_16bit_format .eabi_attribute 18, 4 @ Tag_ABI_PCS_wchar_t .eabi_attribute 26, 2 @ Tag_ABI_enum_size .eabi_attribute 14, 0 @ Tag_ABI_PCS_R9_use .file "pr50883.c" .globl f @ -- Begin function f .p2align 2 .type f,%function .code 32 @ @f f: .fnstart @ %bb.0: mov r0, r1 bx lr .Lfunc_end0: .size f, .Lfunc_end0-f .cantunwind .fnend @ -- End function .globl g @ -- Begin function g .p2align 2 .type g,%function .code 32 @ @g g: .fnstart @ %bb.0: mov r0, r1 bx lr .Lfunc_end1: .size g, .Lfunc_end1-g .cantunwind .fnend @ -- End function .globl h @ -- Begin function h .p2align 2 .type h,%function .code 32 @ @h h: .fnstart @ %bb.0: ldr r1, .LCPI2_0 ldm r1, {r0, r1} b j .p2align 2 @ %bb.1: .LCPI2_0: .long ss .Lfunc_end2: .size h, .Lfunc_end2-h .cantunwind .fnend @ -- End function .globl i @ -- Begin function i .p2align 2 .type i,%function .code 32 @ @i i: .fnstart @ %bb.0: ldr r1, .LCPI3_0 ldm r1, {r0, r1} b k .p2align 2 @ %bb.1: .LCPI3_0: .long tt .Lfunc_end3: .size i, .Lfunc_end3-i .cantunwind .fnend @ -- End function .ident "clang version 11.0.1" .section ".note.GNU-stack","",%progbits .addrsig=