This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
On 10/04/17 13:12, Thomas Preudhomme wrote:
Hi, Currently GCC is happy to use LDRD to perform a 64bit load on ARMv7-R, as shown by the testcase on this patch. However, LDRD is only atomic when LPAE extensions is available, which they are not for ARMv7-R. This commit solve the issue by introducing a new feature bit to distinguish LPAE extensions instead of deducing it from div instruction availability. ChangeLog entries are as follow: *** gcc/ChangeLog *** 2017-03-22 Thomas Preud'homme <thomas.preudhomme@arm.com> PR target/80082 * config/arm/arm-protos.h (FL_LPAE): Define macro. (FL_FOR_ARCH7VE): Add FL_LPAE. (arm_arch_lpae): Declare extern. * config/arm/arm.c (arm_arch_lpae): Declare. (arm_option_override): Define arm_arch_lpae. * config/arm/arm.h (TARGET_HAVE_LPAE): Redefine in term of arm_arch_lpae. *** gcc/testsuite/ChangeLog *** 2017-03-22 Thomas Preud'homme <thomas.preudhomme@arm.com> PR target/80082 * gcc.target/arm/atomic_loaddi_10.c: New testcase. * gcc.target/arm/atomic_loaddi_11.c: Likewise. Is this ok for gcc-5-branch?
OK. Ramana
Best regards, Thomas On 06/04/17 14:05, Ramana Radhakrishnan wrote:On Mon, Mar 27, 2017 at 12:15 PM, Thomas Preudhomme <thomas.preudhomme@foss.arm.com> wrote:Hi, Currently GCC is happy to use LDRD to perform a 64bit load on ARMv7-R, as shown by the testcase on this patch. However, LDRD is only atomic when LPAE extensions is available, which they are not for ARMv7-R. This commit solve the issue by introducing a new feature bit to distinguish LPAE extensions instead of deducing it from div instruction availability.Ok but with the testsuite fix that I just approved, please also fix in gcc-5 branch. Thanks, RamanaChangeLog entries are as follow: *** gcc/ChangeLog *** 2017-03-22 Thomas Preud'homme <thomas.preudhomme@arm.com> PR target/80082 * config/arm/arm-protos.h (FL_LPAE): Define macro. (FL_FOR_ARCH7VE): Add FL_LPAE. (arm_arch_lpae): Declare extern. * config/arm/arm.c (arm_arch_lpae): Declare. (arm_option_override): Define arm_arch_lpae. * config/arm/arm.h (TARGET_HAVE_LPAE): Redefine in term of arm_arch_lpae. *** gcc/testsuite/ChangeLog *** 2017-03-22 Thomas Preud'homme <thomas.preudhomme@arm.com> PR target/80082 * gcc.target/arm/atomic_loaddi_10.c: New testcase. * gcc.target/arm/atomic_loaddi_11.c: Likewise. Testing: bootstrapped for -march=armv7ve and testsuite shows no regression. Is this ok for gcc-6-branch? Best regards, Thomas
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |