On 18/10/2019 11:53, Andre Vieira (lists) wrote:
Hi
This patch maps multilibs using -march=armv7-r+vfpv3-d16-fp16 and
-march=armv7-r+vfpv3-d16-fp16+idiv to v7+fp. This patch also adds a new
multilib for armv7-r+fp.sp and maps -march=armv7-r+fp.sp+idiv,
-march=armv7-r+vfpv3xd-fp16 and -march=armv7-r+vfpv3xd-fp16+idiv to it.
This solves issues encountered when trying to link for
-mcpu=cortex-r8 -mfloat-abi=hard.
Built arm-none-eabi and compared testsuite run of
-march=armv7e-m+fp/-mfloat-abi=hard to
-march=armv7-r+fp.sp/-mfloat-abi=hard which looked alright.
Is this OK for trunk?
gcc/ChangeLog:
2019-10-18 Andre Vieira <andre.simoesdiasvie...@arm.com>
* config/arm/t-multilib: Add new multilib variants and new
mappings.
gcc/testsuite/ChangeLog:
2019-10-18 Andre Vieira <andre.simoesdiasvie...@arm.com>
* gcc.target/arm/multilib.exp: Add extra tests.
Cheers,
Andre
+s-mlib: $(srcdir)/config/arm/t-multilib $(srcdir)/config/arm/t-aprofile
$(srcdir)/config/arm/t-rmprofile
Needs to be mentioned in the ChangeLog
+MULTILIB_MATCHES += $(foreach ARCH,+fp +fp+idiv +vfpv3-d16-fp16
+vfpv3-d16-fp16+idiv, \
+ march?armv7+fp=march?armv7-r$(ARCH))
The list here is the DP dual of v7_r_sp_variants, so it would make more
sense to define v7_r_dp_variants and use it here.
+ {-march=armv7-r+fp -mfpu=auto -mfloat-abi=softfp} "thumb/v7+fp/softfp"
+ {-march=armv7-r+fp -mfpu=auto -mfloat-abi=hard} "thumb/v7+fp/hard"
+ {-march=armv7-r+fp+idiv -mfpu=auto -mfloat-abi=softfp}
"thumb/v7+fp/softfp"
+ {-march=armv7-r+fp+idiv -mfpu=auto -mfloat-abi=hard} "thumb/v7+fp/hard"
+ {-march=armv7-r+vfpv3-d16-fp16 -mfpu=auto -mfloat-abi=softfp}
"thumb/v7+fp/softfp"
+ {-march=armv7-r+vfpv3-d16-fp16 -mfpu=auto -mfloat-abi=hard}
"thumb/v7+fp/hard"
+ {-march=armv7-r+vfpv3-d16-fp16+idiv -mfpu=auto -mfloat-abi=softfp}
"thumb/v7+fp/softfp"
+ {-march=armv7-r+vfpv3-d16-fp16+idiv -mfpu=auto -mfloat-abi=hard}
"thumb/v7+fp/hard"
+ {-march=armv7-r+fp.sp -mfpu=auto -mfloat-abi=softfp}
"thumb/v7-r+fp.sp/softfp"
+ {-march=armv7-r+fp.sp -mfpu=auto -mfloat-abi=hard}
"thumb/v7-r+fp.sp/hard"
+ {-march=armv7-r+fp.sp+idiv -mfpu=auto -mfloat-abi=softfp}
"thumb/v7-r+fp.sp/softfp"
+ {-march=armv7-r+fp.sp+idiv -mfpu=auto -mfloat-abi=hard}
"thumb/v7-r+fp.sp/hard"
+ {-march=armv7-r+vfpv3xd -mfpu=auto -mfloat-abi=softfp}
"thumb/v7-r+fp.sp/softfp"
+ {-march=armv7-r+vfpv3xd -mfpu=auto -mfloat-abi=hard}
"thumb/v7-r+fp.sp/hard"
+ {-march=armv7-r+vfpv3xd+idiv -mfpu=auto -mfloat-abi=softfp}
"thumb/v7-r+fp.sp/softfp"
+ {-march=armv7-r+vfpv3xd+idiv -mfpu=auto -mfloat-abi=hard}
"thumb/v7-r+fp.sp/hard"
+ {-march=armv7-r+vfpv3xd-fp16+idiv -mfpu=auto
-mfloat-abi=softfp} "thumb/v7-r+fp.sp/softfp"
+ {-march=armv7-r+vfpv3xd-fp16+idiv -mfpu=auto -mfloat-abi=hard}
"thumb/v7-r+fp.sp/hard"
8 spaces -> 1 tab.
OK with those changes.
R.