aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorUros Bizjak <ubizjak@gmail.com>2011-12-21 21:56:30 +0100
committerUros Bizjak <uros@gcc.gnu.org>2011-12-21 21:56:30 +0100
commite0d2f0301635c6c3165c159e7d18e5bc07dc7325 (patch)
tree84b3339651f66ca461c370ef179fb8a876a82aaf /gcc
parent67d7405ef4b5ba99089eed94178c72f968a56ff8 (diff)
downloadgcc-e0d2f0301635c6c3165c159e7d18e5bc07dc7325.zip
gcc-e0d2f0301635c6c3165c159e7d18e5bc07dc7325.tar.gz
gcc-e0d2f0301635c6c3165c159e7d18e5bc07dc7325.tar.bz2
i386.c (ix86_option_override_internal): Enable flag_ree also for 32bit targets.
* config/i386/i386.c (ix86_option_override_internal): Enable flag_ree also for 32bit targets. testsuite/ChangeLog: * gcc.dg/pr50038.c: Move to ... * gcc.target/i386/pr50038.c: ... here. Test on all targets. From-SVN: r182605
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/i386/i386.c6
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gcc.target/i386/pr50038.c (renamed from gcc/testsuite/gcc.dg/pr50038.c)6
4 files changed, 17 insertions, 5 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 31210c0..df31988 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2011-12-21 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.c (ix86_option_override_internal): Enable flag_ree
+ also for 32bit targets.
+
2011-12-21 Richard Henderson <rth@redhat.com>
PR target/51552
diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
index c913c13..af07524 100644
--- a/gcc/config/i386/i386.c
+++ b/gcc/config/i386/i386.c
@@ -3445,12 +3445,14 @@ ix86_option_override_internal (bool main_args_p)
#define USE_X86_64_FRAME_POINTER 0
#endif
+ /* Enable redundant extension instructions removal at -O2 and higher. */
+ if (optimize >= 2 && !global_options_set.x_flag_ree)
+ flag_ree = 1;
+
/* Set the default values for switches whose default depends on TARGET_64BIT
in case they weren't overwritten by command line options. */
if (TARGET_64BIT)
{
- if (optimize > 1 && !global_options_set.x_flag_ree)
- flag_ree = 1;
if (optimize >= 1 && !global_options_set.x_flag_omit_frame_pointer)
flag_omit_frame_pointer = !USE_X86_64_FRAME_POINTER;
if (flag_asynchronous_unwind_tables == 2)
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 1592e13..492a0c3 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2011-12-21 Uros Bizjak <ubizjak@gmail.com>
+
+ * gcc.dg/pr50038.c: Move to ...
+ * gcc.target/i386/pr50038.c: ... here. Test on all targets.
+
2011-12-21 Jason Merrill <jason@redhat.com>
PR c++/51611
diff --git a/gcc/testsuite/gcc.dg/pr50038.c b/gcc/testsuite/gcc.target/i386/pr50038.c
index 4d1c8f7..e111574 100644
--- a/gcc/testsuite/gcc.dg/pr50038.c
+++ b/gcc/testsuite/gcc.target/i386/pr50038.c
@@ -1,8 +1,8 @@
/* PR target/50038 */
-/* { dg-do compile { target x86_64-*-* } } */
/* { dg-options "-O2" } */
-void pr50038(int len, unsigned char *in, unsigned char *out)
+void
+test (int len, unsigned char *in, unsigned char *out)
{
int i;
unsigned char xr, xg;
@@ -11,7 +11,7 @@ void pr50038(int len, unsigned char *in, unsigned char *out)
{
xr = *in++;
xg = *in++;
- xy = (unsigned char) ((19595*xr + 38470*xg) >> 16);
+ xy = (unsigned char) ((19595 * xr + 38470 * xg) >> 16);
*out++ = xy;
}