aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUros Bizjak <ubizjak@gmail.com>2019-05-23 21:46:56 +0200
committerUros Bizjak <uros@gcc.gnu.org>2019-05-23 21:46:56 +0200
commit103d91c7cb36eaba7728a3550f77dd1f50fdfc29 (patch)
tree9029b97855400656598cfc72a222f9ca9c0e7f46
parent9111760356ce908060b66b11d00ac0ee870e9276 (diff)
downloadgcc-103d91c7cb36eaba7728a3550f77dd1f50fdfc29.zip
gcc-103d91c7cb36eaba7728a3550f77dd1f50fdfc29.tar.gz
gcc-103d91c7cb36eaba7728a3550f77dd1f50fdfc29.tar.bz2
re PR target/90552 (attribute((optimize(3))) not overriding -Os)
PR target/90552 * config/i386/i386.c (gen_rtx_cost): Use ix86_tune_cost instead of ix86_cost. testsuite/ChangeLog: PR target/90552 * gcc.target/i386/pr90552.c: New test. From-SVN: r271576
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/i386/i386.c3
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gcc.target/i386/pr90552.c11
4 files changed, 24 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 3f183fb..4956f15 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2019-05-23 Uroš Bizjak <ubizjak@gmail.com>
+
+ PR target/90552
+ * config/i386/i386.c (gen_rtx_cost):
+ Use ix86_tune_cost instead of ix86_cost.
+
2019-05-23 Bill Schmidt <wschmidt@linux.ibm.com>
Michael Meissner <meissner@linux.ibm.com>
Segher Boessenkool <segher@kernel.crashing.org>
diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
index 463e781..79fcb5c 100644
--- a/gcc/config/i386/i386.c
+++ b/gcc/config/i386/i386.c
@@ -19124,7 +19124,8 @@ ix86_rtx_costs (rtx x, machine_mode mode, int outer_code_i, int opno,
rtx mask;
enum rtx_code code = GET_CODE (x);
enum rtx_code outer_code = (enum rtx_code) outer_code_i;
- const struct processor_costs *cost = speed ? ix86_cost : &ix86_size_cost;
+ const struct processor_costs *cost
+ = speed ? ix86_tune_cost : &ix86_size_cost;
int src_cost;
switch (code)
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index f659e45..e3d9041 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2019-05-23 Uroš Bizjak <ubizjak@gmail.com>
+
+ PR target/90552
+ * gcc.target/i386/pr90552.c: New test.
+
2019-05-23 Mark Eggleston <mark.eggleston@codethink.com>
* gfortran.dg/fmt_f_default_field_width_1.f90: Hide REAL(16) behind
diff --git a/gcc/testsuite/gcc.target/i386/pr90552.c b/gcc/testsuite/gcc.target/i386/pr90552.c
new file mode 100644
index 0000000..59b7e84
--- /dev/null
+++ b/gcc/testsuite/gcc.target/i386/pr90552.c
@@ -0,0 +1,11 @@
+/* PR target/90552 *
+/* { dg-do compile } */
+/* { dg-options "-Os" } */
+
+__attribute__((optimize(2)))
+int foo (int x)
+{
+ return x / 3;
+}
+
+/* { dg-final { scan-assembler-not "idiv" } } */