[Bug target/50883] [ARM] Suboptimal optimization for small structures
sebastian.huber@embedded-brains.de
gcc-bugzilla@gcc.gnu.org
Fri Feb 4 16:29:35 GMT 2022
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=50883
--- Comment #18 from Sebastian Huber <sebastian.huber@embedded-brains.de> ---
clang 11 produces this code for the attached test case:
clang -O2 -S -o - pr50883.c -target arm
clang-11.0: warning: unknown platform, assuming -mfloat-abi=soft
clang-11.0: warning: unknown platform, assuming -mfloat-abi=soft
.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
More information about the Gcc-bugs
mailing list