public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* [PATCH, GCC/ARM, Stage 1] Add missing TARGET_32BIT conditional to movsi
@ 2017-05-11  9:58 Prakhar Bahuguna
  2017-05-11 10:14 ` Kyrill Tkachov
  0 siblings, 1 reply; 3+ messages in thread
From: Prakhar Bahuguna @ 2017-05-11  9:58 UTC (permalink / raw)
  To: gcc-patches; +Cc: nd, Richard.Earnshaw, Ramana.Radhakrishnan, Kyrylo.Tkachov

[-- Attachment #1: Type: text/plain, Size: 676 bytes --]

Resolve the regressions introduced on non-Thumb targets by the Purecode for
ARMv8-M Baseline patch. The TARGET_32BIT conditional has been re-added to the
movsi expander and splitter in addition to TARGET_HAVE_MOVT.

gcc/ChangeLog:

2017-05-11  Prakhar Bahuguna  <prakhar.bahuguna@arm.com>

	* config/arm/arm.md (movsi): Add TARGET_32BIT in addition to the
	TARGET_HAVE_MOVT conditional.
	(movt splitter): Likewise.

Testing done: Full regression testing for ARMv5 (including XScale), ARMv7-A,
ARMv7-M and ARMv8-M. The failing tests in particular (gcc.target/arm/scd42-2.c
and g++.dg/torture/vshuf-v4si.c) now pass and no further regressions were
found.

-- 

Prakhar Bahuguna

[-- Attachment #2: 0001-Add-missing-TARGET_32BIT-conditional-to-movsi.patch --]
[-- Type: text/plain, Size: 1153 bytes --]

From 6e19667cbe8f66b4a054c1243443a29845fb7397 Mon Sep 17 00:00:00 2001
From: Prakhar Bahuguna <prakhar.bahuguna@arm.com>
Date: Thu, 11 May 2017 10:12:02 +0100
Subject: [PATCH] Add missing TARGET_32BIT conditional to movsi

Resolves the regressions introduced on non-Thumb targets by the Purecode
for ARMv8-M Baseline patch.
---
 gcc/config/arm/arm.md | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gcc/config/arm/arm.md b/gcc/config/arm/arm.md
index 4a2b623e528..6c391347b68 100644
--- a/gcc/config/arm/arm.md
+++ b/gcc/config/arm/arm.md
@@ -5969,7 +5969,7 @@
   {
   rtx base, offset, tmp;
 
-  if (TARGET_HAVE_MOVT)
+  if (TARGET_32BIT || TARGET_HAVE_MOVT)
     {
       /* Everything except mem = const or mem = mem can be done easily.  */
       if (MEM_P (operands[0]))
@@ -6093,7 +6093,7 @@
 (define_split
   [(set (match_operand:SI 0 "arm_general_register_operand" "")
 	(match_operand:SI 1 "const_int_operand" ""))]
-  "TARGET_HAVE_MOVT
+  "TARGET_32BIT || TARGET_HAVE_MOVT
   && (!(const_ok_for_arm (INTVAL (operands[1]))
         || const_ok_for_arm (~INTVAL (operands[1]))))"
   [(clobber (const_int 0))]
-- 
2.11.0


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH, GCC/ARM, Stage 1] Add missing TARGET_32BIT conditional to movsi
  2017-05-11  9:58 [PATCH, GCC/ARM, Stage 1] Add missing TARGET_32BIT conditional to movsi Prakhar Bahuguna
@ 2017-05-11 10:14 ` Kyrill Tkachov
  2017-05-12 14:49   ` Prakhar Bahuguna
  0 siblings, 1 reply; 3+ messages in thread
From: Kyrill Tkachov @ 2017-05-11 10:14 UTC (permalink / raw)
  To: Prakhar Bahuguna, gcc-patches; +Cc: nd, Richard.Earnshaw, Ramana.Radhakrishnan


On 11/05/17 10:56, Prakhar Bahuguna wrote:
> Resolve the regressions introduced on non-Thumb targets by the Purecode for
> ARMv8-M Baseline patch. The TARGET_32BIT conditional has been re-added to the
> movsi expander and splitter in addition to TARGET_HAVE_MOVT.
>
> gcc/ChangeLog:
>
> 2017-05-11  Prakhar Bahuguna  <prakhar.bahuguna@arm.com>
>
> 	* config/arm/arm.md (movsi): Add TARGET_32BIT in addition to the
> 	TARGET_HAVE_MOVT conditional.
> 	(movt splitter): Likewise.
>
> Testing done: Full regression testing for ARMv5 (including XScale), ARMv7-A,
> ARMv7-M and ARMv8-M. The failing tests in particular (gcc.target/arm/scd42-2.c
> and g++.dg/torture/vshuf-v4si.c) now pass and no further regressions were
> found.

Ok if a bootstrap on arm-none-linux-gnueabihf target passes as well.

Thanks,
Kyrill

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH, GCC/ARM, Stage 1] Add missing TARGET_32BIT conditional to movsi
  2017-05-11 10:14 ` Kyrill Tkachov
@ 2017-05-12 14:49   ` Prakhar Bahuguna
  0 siblings, 0 replies; 3+ messages in thread
From: Prakhar Bahuguna @ 2017-05-12 14:49 UTC (permalink / raw)
  To: Kyrill Tkachov; +Cc: gcc-patches, nd, Richard.Earnshaw, Ramana.Radhakrishnan

On 11/05/2017 10:58:52, Kyrill Tkachov wrote:
> 
> On 11/05/17 10:56, Prakhar Bahuguna wrote:
> > Resolve the regressions introduced on non-Thumb targets by the Purecode for
> > ARMv8-M Baseline patch. The TARGET_32BIT conditional has been re-added to the
> > movsi expander and splitter in addition to TARGET_HAVE_MOVT.
> > 
> > gcc/ChangeLog:
> > 
> > 2017-05-11  Prakhar Bahuguna  <prakhar.bahuguna@arm.com>
> > 
> > 	* config/arm/arm.md (movsi): Add TARGET_32BIT in addition to the
> > 	TARGET_HAVE_MOVT conditional.
> > 	(movt splitter): Likewise.
> > 
> > Testing done: Full regression testing for ARMv5 (including XScale), ARMv7-A,
> > ARMv7-M and ARMv8-M. The failing tests in particular (gcc.target/arm/scd42-2.c
> > and g++.dg/torture/vshuf-v4si.c) now pass and no further regressions were
> > found.
> 
> Ok if a bootstrap on arm-none-linux-gnueabihf target passes as well.
> 
> Thanks,
> Kyrill

Patch was committed in r247971 with one trivial change (brackets around the
conditionals), and an arm-none-linux-gnueabihf bootstrap was successful with
this modified patch.

-- 

Prakhar Bahuguna

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2017-05-12 14:17 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-05-11  9:58 [PATCH, GCC/ARM, Stage 1] Add missing TARGET_32BIT conditional to movsi Prakhar Bahuguna
2017-05-11 10:14 ` Kyrill Tkachov
2017-05-12 14:49   ` Prakhar Bahuguna

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).