diff options
author | Jovan Dmitrovic <Jovan.Dmitrovic@Syrmia.com> | 2023-06-26 17:00:20 +0200 |
---|---|---|
committer | YunQiang Su <yunqiang.su@cipunited.com> | 2023-06-30 11:20:43 +0800 |
commit | e20abdb749d0c0c8552da998ff8ec139b830f5eb (patch) | |
tree | a0859f4a3d67cce43c8cf1d6232245b499f56f92 /gcc/tree-vect-patterns.cc | |
parent | 14bfda6084eaca07c842566a34316974907958e2 (diff) | |
download | gcc-e20abdb749d0c0c8552da998ff8ec139b830f5eb.zip gcc-e20abdb749d0c0c8552da998ff8ec139b830f5eb.tar.gz gcc-e20abdb749d0c0c8552da998ff8ec139b830f5eb.tar.bz2 |
mips: Fix overaligned function arguments [PR109435]
This patch changes alignment for typedef types when passed as
arguments, making the alignment equal to the alignment of
original (aliased) types.
This change makes it impossible for a typedef type to have
alignment that is less than its size.
2023-06-27 Jovan Dmitrović <jovan.dmitrovic@syrmia.com>
gcc/ChangeLog:
PR target/109435
* config/mips/mips.cc (mips_function_arg_alignment): Returns
the alignment of function argument. In case of typedef type,
it returns the aligment of the aliased type.
(mips_function_arg_boundary): Relocated calculation of the
aligment of function arguments.
gcc/testsuite/ChangeLog:
* gcc.target/mips/align-1-n64.c: New test.
* gcc.target/mips/align-1-o32.c: New test.
Diffstat (limited to 'gcc/tree-vect-patterns.cc')
0 files changed, 0 insertions, 0 deletions