From: Doug Kwan Date: Wed, 22 Jul 2009 18:06:08 +0000 (+0000) Subject: 2009-07-22 Doug Kwan X-Git-Tag: releases/gcc-4.5.0~4438 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=61ed639283acd896af48d40727b01f5d516008cf;p=thirdparty%2Fgcc.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. From-SVN: r149951 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 018e805b9003..522968000e31 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 809f2c49b97e..7aaa4c65f4ed 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 efad8ee55e60..2c065ffedd3e 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 000000000000..2122b3405d65 --- /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;}