summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog30
-rw-r--r--gcc/config/i386/i386.md8
-rwxr-xr-xgcc/configure4
-rw-r--r--gcc/configure.ac4
4 files changed, 30 insertions, 16 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 231e624be89..392dbce60ef 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,12 @@
+2012-07-03 Roland McGrath <mcgrathr@google.com>
+
+ * configure.ac (HAVE_AS_IX86_REP_LOCK_PREFIX): Also require that the
+ assembler accept 'rep bsf ...', 'rep bsr ...', 'rep ret' and 'rep nop'.
+ * configure: Regenerated.
+ * config/i386/i386.md (simple_return_internal_long): Use %;
+ (ctz<mode>2): Likewise.
+ (*pause): Likewise.
+
2012-07-02 Oleg Endo <olegendo@gcc.gnu.org>
PR target/51244
@@ -30,8 +39,7 @@
(gen_inbound_check): Do not release post-dominator info here.
(process_switch): Reorder code. Expand as bit tests if it
looks like a win.
- (do_switchconv): Release post-dominator info here if something
- changed.
+ (do_switchconv): Release post-dominator info here if something changed.
(struct gimple_opt_pass): Verify more.
* tree.h (expand_switch_using_bit_tests_p): Remove prototype.
@@ -42,9 +50,9 @@
dynamic type change check.
2012-07-02 Richard Guenther <rguenther@suse.de>
- Michael Matz <matz@suse.de>
- Tobias Grosser <tobias@grosser.es>
- Sebastian Pop <sebpop@gmail.com>
+ Michael Matz <matz@suse.de>
+ Tobias Grosser <tobias@grosser.es>
+ Sebastian Pop <sebpop@gmail.com>
* Makefile.in: Remove PPL flags in favor of ISL ones.
(BACKENDLIBS): Remove PPL libs.
@@ -55,8 +63,7 @@
(graphite-poly.o): Likewise.
* configure.ac: Declare ISL vars instead of PPL ones.
* configure: Regenerated.
- * doc/install.texi: Replace PPL requirement documentation
- with ISL one.
+ * doc/install.texi: Replace PPL requirement documentation with ISL one.
* graphite-blocking.c: Remove PPL code, add ISL equivalent.
* graphite-clast-to-gimple.c: Likewise.
* graphite-dependences.c: Likewise.
@@ -76,7 +83,7 @@
Merge from graphite branch
2011-07-21 Tobias Grosser <tobias@grosser.es>
-
+
* Makefile.in (graphite-clast-to-gimple.o, graphite-cloog-util.o):
Remove graphite-cloog-util.h.
* graphite-clast-to-gimple.c (gcc_type_for_iv_of_clast_loop,
@@ -122,7 +129,7 @@
* graphite-clast-to-gimple.h (scop_to_clast): Remove.
2012-01-11 Tobias Grosser <tobias@grosser.es>
-
+
* graphite-clast-to-gimple.c (clast_name_to_index,
clast_name_to_lb_ub, clast_name_to_gcc): Change types.
(clast_to_gcc_expression): Add clast_expr_name as a new
@@ -172,7 +179,7 @@
(crc32_byte): ... here. Use it.
(crc32_unsigned): New.
-2012-06-29 Cary Coutant <ccoutant@google.com>
+2012-06-29 Cary Coutant <ccoutant@google.com>
* dwarf2out.c (add_pubname_string): Don't check for want_pubnames.
(gen_subprogram_die): Don't add pubname if want_pubnames is false.
@@ -199,8 +206,7 @@
2012-06-29 Jakub Jelinek <jakub@redhat.com>
* tree-vect-generic.c (expand_vector_divmod): For even/odd
- widening multiply, put even always as first argument to
- VEC_PERM_EXPR.
+ widening multiply, put even always as first argument to VEC_PERM_EXPR.
2012-06-29 Richard Henderson <rth@redhat.com>
diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md
index 60aa65a88bf..bdee324797c 100644
--- a/gcc/config/i386/i386.md
+++ b/gcc/config/i386/i386.md
@@ -11904,7 +11904,7 @@
[(simple_return)
(unspec [(const_int 0)] UNSPEC_REP)]
"reload_completed"
- "rep\;ret"
+ "rep%; ret"
[(set_attr "length" "2")
(set_attr "atom_unit" "jeu")
(set_attr "length_immediate" "0")
@@ -12236,8 +12236,8 @@
else if (optimize_function_for_size_p (cfun))
;
else if (TARGET_GENERIC)
- /* tzcnt expands to rep;bsf and we can use it even if !TARGET_BMI. */
- return "rep; bsf{<imodesuffix>}\t{%1, %0|%0, %1}";
+ /* tzcnt expands to 'rep bsf' and we can use it even if !TARGET_BMI. */
+ return "rep%; bsf{<imodesuffix>}\t{%1, %0|%0, %1}";
return "bsf{<imodesuffix>}\t{%1, %0|%0, %1}";
}
@@ -18131,7 +18131,7 @@
[(set (match_operand:BLK 0)
(unspec:BLK [(match_dup 0)] UNSPEC_PAUSE))]
""
- "rep; nop"
+ "rep%; nop"
[(set_attr "length" "2")
(set_attr "memory" "unknown")])
diff --git a/gcc/configure b/gcc/configure
index fd3be5231b8..af08a49b349 100755
--- a/gcc/configure
+++ b/gcc/configure
@@ -24790,6 +24790,10 @@ else
gcc_cv_as_ix86_rep_lock_prefix=no
if test x$gcc_cv_as != x; then
$as_echo 'rep movsl
+ rep ret
+ rep nop
+ rep bsf %ecx, %eax
+ rep bsr %ecx, %eax
lock addl %edi, (%eax,%esi)
lock orl $0, (%esp)' > conftest.s
if { ac_try='$gcc_cv_as $gcc_cv_as_flags -o conftest.o conftest.s >&5'
diff --git a/gcc/configure.ac b/gcc/configure.ac
index 89644e2dd96..a95adecc742 100644
--- a/gcc/configure.ac
+++ b/gcc/configure.ac
@@ -3641,6 +3641,10 @@ foo: nop
gcc_GAS_CHECK_FEATURE([rep and lock prefix],
gcc_cv_as_ix86_rep_lock_prefix,,,
[rep movsl
+ rep ret
+ rep nop
+ rep bsf %ecx, %eax
+ rep bsr %ecx, %eax
lock addl %edi, (%eax,%esi)
lock orl $0, (%esp)],,
[AC_DEFINE(HAVE_AS_IX86_REP_LOCK_PREFIX, 1,