Hi all!
This is a friendly reminder message.
On 07/17/2014 03:22 PM, Marat Zakirov wrote:
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.zaki...@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))"