diff options
author | chenglulu <chenglulu@loongson.cn> | 2022-03-28 17:02:39 +0800 |
---|---|---|
committer | Lulu Cheng <chenglulu@loongson.cn> | 2022-04-12 09:13:51 +0800 |
commit | 6afb21b824dabf17c79e7b0a4230572f091307ec (patch) | |
tree | 8d58fa7ffea742d42528b39f74476f816c25510d /gcc/config/loongarch | |
parent | da066c4269c7992327bd2abdf51f075a1b1240f7 (diff) | |
download | gcc-6afb21b824dabf17c79e7b0a4230572f091307ec.zip gcc-6afb21b824dabf17c79e7b0a4230572f091307ec.tar.gz gcc-6afb21b824dabf17c79e7b0a4230572f091307ec.tar.bz2 |
LoongArch: Fix bug for tmpdir-g++.dg-struct-layout-1/t033.
gcc/ChangeLog:
* config/loongarch/loongarch.cc: Fix bug for
tmpdir-g++.dg-struct-layout-1/t033.
Diffstat (limited to 'gcc/config/loongarch')
-rw-r--r-- | gcc/config/loongarch/loongarch.cc | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/gcc/config/loongarch/loongarch.cc b/gcc/config/loongarch/loongarch.cc index 6e24111..f22150a 100644 --- a/gcc/config/loongarch/loongarch.cc +++ b/gcc/config/loongarch/loongarch.cc @@ -473,13 +473,14 @@ loongarch_pass_aggregate_in_fpr_and_gpr_p (const_tree type, static rtx loongarch_pass_fpr_single (machine_mode type_mode, unsigned regno, - machine_mode value_mode) + machine_mode value_mode, + HOST_WIDE_INT offset) { rtx x = gen_rtx_REG (value_mode, regno); if (type_mode != value_mode) { - x = gen_rtx_EXPR_LIST (VOIDmode, x, const0_rtx); + x = gen_rtx_EXPR_LIST (VOIDmode, x, GEN_INT (offset)); x = gen_rtx_PARALLEL (type_mode, gen_rtvec (1, x)); } return x; @@ -539,7 +540,8 @@ loongarch_get_arg_info (struct loongarch_arg_info *info, { case 1: return loongarch_pass_fpr_single (mode, fregno, - TYPE_MODE (fields[0].type)); + TYPE_MODE (fields[0].type), + fields[0].offset); case 2: return loongarch_pass_fpr_pair (mode, fregno, |