aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorDoug Kwan <dougkwan@google.com>2009-07-22 18:06:08 +0000
committerDoug Kwan <dougkwan@gcc.gnu.org>2009-07-22 18:06:08 +0000
commit61ed639283acd896af48d40727b01f5d516008cf (patch)
treea8e0b8b796c1ea459f330f2840b89bc6d5f6d86c /gcc
parent240fe2a4ac0ed2c262365e8c13d7bc934fb5fc19 (diff)
downloadgcc-61ed639283acd896af48d40727b01f5d516008cf.zip
gcc-61ed639283acd896af48d40727b01f5d516008cf.tar.gz
gcc-61ed639283acd896af48d40727b01f5d516008cf.tar.bz2
2009-07-22 Doug Kwan <dougkwan@google.com>
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
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/config/arm/arm.md4
-rw-r--r--gcc/testsuite/ChangeLog4
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/20090721-1.c3
4 files changed, 13 insertions, 2 deletions
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 <dougkwan@google.com>
+
+ * config/arm/arm.md (subdi3) Copy non-reg values to DImode registers.
+
2009-07-22 Michael Matz <matz@suse.de>
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 <dougkwan@google.com>
+
+ * gcc.c-torture/compile/20090721-1.c: New test.
+
2009-07-22 Michael Matz <matz@suse.de>
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;}