This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PING][PATCH] Fix for PR 61561
- From: Marat Zakirov <m dot zakirov at samsung dot com>
- To: Kyrill Tkachov <kyrylo dot tkachov at arm dot com>, Christophe Lyon <christophe dot lyon at linaro dot org>
- Cc: "gcc-patches at gcc dot gnu dot org" <gcc-patches at gcc dot gnu dot org>, Ramana Radhakrishnan <Ramana dot Radhakrishnan at arm dot com>, Richard Earnshaw <Richard dot Earnshaw at arm dot com>, Slava Garbuzov <v dot garbuzov at samsung dot com>, Yury Gribov <y dot gribov at samsung dot com>
- Date: Thu, 17 Jul 2014 15:22:42 +0400
- Subject: Re: [PING][PATCH] Fix for PR 61561
- Authentication-results: sourceware.org; auth=none
- References: <53BE8EA4 dot 7080803 at arm dot com> <53BFA9A9 dot 4090209 at samsung dot com> <CAKdteOZCDuQS4+jH1wQH4U7g5Ew1BYmtDs65xpw3c2kJ9Ek2Pw at mail dot gmail dot com> <53C64468 dot 9000506 at samsung dot com> <53C646BB dot 6020905 at arm dot com>
On 07/16/2014 01:32 PM, Kyrill Tkachov wrote:
On 16/07/14 10:22, Marat Zakirov wrote:
Christophe,
Please look at a new patch. Draft tests are OK.
I'll ask your commit approval when full regression (ARM/thumb1/thumb2)
tests are done.
Hi Marat,
I was about to propose the thumb2.md hunk myself, but I'll defer to
the arm maintainers to comment on the other parts.
Also, in the ChangeLog it is helpful to specify which patterns are
being affected, so in your case it would be something like:
* config/arm/thumb1.md (*thumb1_movhi_insn): Handle stack pointer.
(*thumb1_movqi_insn): Likewise.
* config/arm/thumb2.md (*thumb2_movhi_insn): Ditto.
Kyrill
Christophe, Kirill,
finally I've finished regression testing.
Please check if my patch is OK for trunk.
The following configures were used:
configure --build=x86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu
--target=arm-linux-gnueabi --with-interwork --enable-long-long
--enable-languages=c,c++,fortran --enable-shared --with-gnu-as
--with-gnu-ld --with-arch=$ARCH --with-mode=$MODE
Thumb-1
$ARCH=armv4t
$MODE=thumb
Thumb-2
$ARCH=armv7
$MODE=thumb
ARM
$ARCH=armv7-a
$MODE=arm
No regressions detected, test pr61561.c passed in all cases.
Thank you all.
--Marat
gcc/ChangeLog:
2014-07-16 Marat Zakirov <m.zakirov@samsung.com>
* config/arm/thumb1.md (*thumb1_movhi_insn): Handle stack pointer.
(*thumb1_movqi_insn): Likewise.
* config/arm/thumb2.md (*thumb2_movhi_insn): Likewise.
diff --git a/gcc/config/arm/thumb1.md b/gcc/config/arm/thumb1.md
index c044fd5..47b5cbd 100644
--- a/gcc/config/arm/thumb1.md
+++ b/gcc/config/arm/thumb1.md
@@ -708,7 +708,7 @@
(define_insn "*thumb1_movhi_insn"
[(set (match_operand:HI 0 "nonimmediate_operand" "=l,l,m,*r,*h,l")
- (match_operand:HI 1 "general_operand" "l,m,l,*h,*r,I"))]
+ (match_operand:HI 1 "general_operand" "lk,m,l,*h,*r,I"))]
"TARGET_THUMB1
&& ( register_operand (operands[0], HImode)
|| register_operand (operands[1], HImode))"
@@ -762,7 +762,7 @@
(define_insn "*thumb1_movqi_insn"
[(set (match_operand:QI 0 "nonimmediate_operand" "=l,l,m,*r,*h,l")
- (match_operand:QI 1 "general_operand" "l, m,l,*h,*r,I"))]
+ (match_operand:QI 1 "general_operand" "lk, m,l,*h,*r,I"))]
"TARGET_THUMB1
&& ( register_operand (operands[0], QImode)
|| register_operand (operands[1], QImode))"
diff --git a/gcc/config/arm/thumb2.md b/gcc/config/arm/thumb2.md
index 6ea0810..7228069 100644
--- a/gcc/config/arm/thumb2.md
+++ b/gcc/config/arm/thumb2.md
@@ -318,7 +318,7 @@
;; of the messiness associated with the ARM patterns.
(define_insn "*thumb2_movhi_insn"
[(set (match_operand:HI 0 "nonimmediate_operand" "=r,r,l,r,m,r")
- (match_operand:HI 1 "general_operand" "r,I,Py,n,r,m"))]
+ (match_operand:HI 1 "general_operand" "rk,I,Py,n,r,m"))]
"TARGET_THUMB2
&& (register_operand (operands[0], HImode)
|| register_operand (operands[1], HImode))"