From: dougkwan Date: Wed, 22 Jul 2009 18:06:08 +0000 (+0000) Subject: 2009-07-22 Doug Kwan X-Git-Tag: upstream/4.9.2~34698 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=5aa8c5f0525b6822576e1e5266836c5f3bdf03d1;p=platform%2Fupstream%2Flinaro-gcc.git 2009-07-22 Doug Kwan ChangeLog: * config/arm/arm.md (subdi3) Copy non-reg values to DImode registers. testsuite/ChangeLog: * gcc.c-torture/compile/20090721-1.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149951 138bc75d-0d04-0410-961f-82ee72b054a4 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 018e805..5229680 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2009-07-22 Doug Kwan + + * config/arm/arm.md (subdi3) Copy non-reg values to DImode registers. + 2009-07-22 Michael Matz PR tree-optimization/35229 diff --git a/gcc/config/arm/arm.md b/gcc/config/arm/arm.md index 809f2c4..7aaa4c6 100644 --- a/gcc/config/arm/arm.md +++ b/gcc/config/arm/arm.md @@ -981,9 +981,9 @@ if (TARGET_THUMB1) { if (GET_CODE (operands[1]) != REG) - operands[1] = force_reg (SImode, operands[1]); + operands[1] = force_reg (DImode, operands[1]); if (GET_CODE (operands[2]) != REG) - operands[2] = force_reg (SImode, operands[2]); + operands[2] = force_reg (DImode, operands[2]); } " ) diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index efad8ee..2c065ff 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2009-07-22 Doug Kwan + + * gcc.c-torture/compile/20090721-1.c: New test. + 2009-07-22 Michael Matz PR tree-optimization/35229 diff --git a/gcc/testsuite/gcc.c-torture/compile/20090721-1.c b/gcc/testsuite/gcc.c-torture/compile/20090721-1.c new file mode 100644 index 0000000..2122b34 --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/compile/20090721-1.c @@ -0,0 +1,3 @@ +/* { dg-options "-fno-tree-sra" } */ +union u {double d;long long ll;}; +f(double x, int n){union u v;v.d=x;if(n>=0){v.ll<<=63;}else{v.ll-=1<<-n;v.ll>>=-n;}return v.ll;}