summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoruros <uros@138bc75d-0d04-0410-961f-82ee72b054a4>2013-08-12 17:23:43 +0000
committeruros <uros@138bc75d-0d04-0410-961f-82ee72b054a4>2013-08-12 17:23:43 +0000
commit85b82324d9343b18e62a11dd26e2171374e668b6 (patch)
tree60e1b5e98e720ecae7c775a3e0be75a77d96a330
parentede6294c819271eb30f9d303413cc89bde4cc983 (diff)
downloadppe42-gcc-85b82324d9343b18e62a11dd26e2171374e668b6.tar.gz
ppe42-gcc-85b82324d9343b18e62a11dd26e2171374e668b6.zip
2013-08-12 Uros Bizjak <ubizjak@gmail.com>
* config/i386/i386.md (floatunssi<mode>2 expand): Use MODEF mode iterator instead of X87MODEF. 2013-08-12 Perez Read <netfirewall@gmail.com> PR target/58132 * config/i386/i386.md (*movabs<mode>_1): Add <ptrsize> PTR before operand 0 for intel asm alternative. (*movabs<mode>_2): Ditto for operand 1. testsuite/ChangeLog: 2013-08-12 Perez Read <netfirewall@gmail.com> PR target/58132 * gcc.target/i386/movabs-1.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@201668 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog36
-rw-r--r--gcc/config/i386/i386.md14
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gcc.target/i386/movabs-1.c10
4 files changed, 44 insertions, 21 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 34d18b8fd41..85d0527fef9 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,15 @@
+2013-08-12 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (floatunssi<mode>2 expand): Use MODEF mode
+ iterator instead of X87MODEF.
+
+2013-08-12 Perez Read <netfirewall@gmail.com>
+
+ PR target/58132
+ * config/i386/i386.md (*movabs<mode>_1): Add <ptrsize> PTR before
+ operand 0 for intel asm alternative.
+ (*movabs<mode>_2): Ditto for operand 1.
+
2013-08-12 James Greenhalgh <james.greenhalgh@arm.com>
* config/aarch64/arm_none.h
@@ -43,14 +55,13 @@
* config/i386/i386-opts.h: Include stringopt.def.
* config/i386/i386.opt: Include stringopt.opt.
* config/i386/i386.c (ix86_option_override_internal):
- Override default size based stringop inline strategies
- with options.
+ Override default size based stringop inline strategies with options.
* config/i386/i386.c (ix86_parse_stringop_strategy_string):
New function.
2013-08-09 Jan Hubicka <jh@suse.cz>
- * ipa-ref.c (ipa_clear_stmts_in_references): Clear lto_stmt_uid, too.
+ * ipa-ref.c (ipa_clear_stmts_in_references): Clear lto_stmt_uid, too.
2013-08-09 Jan Hubicka <jh@suse.cz>
@@ -73,8 +84,7 @@
* cgraph.h (cgraph_node): Add profile_id.
* value-prof.c (cgraph_node_map): Turn into pointer_map.
- (init_node_map): Rewrite to handle hashes increas of incremental
- IDs.
+ (init_node_map): Rewrite to handle hashes increas of incremental IDs.
(del_node_map): Update.
(find_func_by_funcdef_no): Replace by ...
(find_func_by_profile_id): ... this one.
@@ -96,8 +106,8 @@
2013-08-09 Jan Hubicka <jh@suse.cz>
- * cgraphbuild.c (cgraph_rebuild_references): Rebuild only non-speculative
- refs.
+ * cgraphbuild.c (cgraph_rebuild_references): Rebuild only
+ non-speculative refs.
* cgraph.c (cgraph_update_edge_in_call_site_hash): New function.
(cgraph_add_edge_to_call_site_hash): Deal with speculative calls.
(cgraph_set_call_stmt): Likewise.
@@ -107,8 +117,7 @@
(cgraph_turn_edge_to_speculative): New function.
(cgraph_speculative_call_info): New function.
(cgraph_make_edge_direct): Return direct edge; handle speculation.
- (cgraph_redirect_edge_call_stmt_to_callee): Expand speculative
- edges.
+ (cgraph_redirect_edge_call_stmt_to_callee): Expand speculative edges.
(dump_cgraph_node): Dump speculation.
(verify_edge_count_and_frequency): Accept speculative edges.
(verify_edge_corresponds_to_fndecl): Handle partitioned cgraph.
@@ -151,10 +160,8 @@
(propagate_controlled_uses): Liekwise.
* tree-inline.c (copy_bb): Copy speculative edges.
(redirect_all_calls): New function.
- (copy_cfg_body): Do redirection after loop info
- is updated.
- (delete_unreachable_blocks_update_callgraph): Updadte
- speculation.
+ (copy_cfg_body): Do redirection after loop info is updated.
+ (delete_unreachable_blocks_update_callgraph): Updadte speculation.
2013-08-09 Jan Hubicka <jh@suse.cz>
@@ -250,7 +257,8 @@
* cgraph.c (verify_cgraph_node): Add basic ipa-ref verifier.
* ipa-inline-transform.c (inline_transform): Remove all references
after inlining.
- * cgraphunit.c (expand_function): Remove all references after expansion.
+ * cgraphunit.c (expand_function): Remove all references after
+ expansion.
* ipa-ref.c (ipa_ref_has_aliases_p): Fix formatting.
(ipa_find_reference): Rewrite to iterator.
(remove_stmt_references): Likewise.
diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md
index b8788746d26..35bb09c6027 100644
--- a/gcc/config/i386/i386.md
+++ b/gcc/config/i386/i386.md
@@ -2255,7 +2255,7 @@
"TARGET_LP64 && ix86_check_movabs (insn, 0)"
"@
movabs{<imodesuffix>}\t{%1, %P0|[%P0], %1}
- mov{<imodesuffix>}\t{%1, %a0|%a0, %1}"
+ mov{<imodesuffix>}\t{%1, %a0|<iptrsize> PTR %a0, %1}"
[(set_attr "type" "imov")
(set_attr "modrm" "0,*")
(set_attr "length_address" "8,0")
@@ -2269,7 +2269,7 @@
"TARGET_LP64 && ix86_check_movabs (insn, 1)"
"@
movabs{<imodesuffix>}\t{%P1, %0|%0, [%P1]}
- mov{<imodesuffix>}\t{%a1, %0|%0, %a1}"
+ mov{<imodesuffix>}\t{%a1, %0|%0, <iptrsize> PTR %a1}"
[(set_attr "type" "imov")
(set_attr "modrm" "0,*")
(set_attr "length_address" "8,0")
@@ -5037,15 +5037,15 @@
&& reload_completed"
[(set (match_dup 0) (float:X87MODEF (match_dup 1)))])
-(define_expand "floatuns<SWI12:mode><X87MODEF:mode>2"
- [(set (match_operand:X87MODEF 0 "register_operand")
- (unsigned_float:X87MODEF
+(define_expand "floatuns<SWI12:mode><MODEF:mode>2"
+ [(set (match_operand:MODEF 0 "register_operand")
+ (unsigned_float:MODEF
(match_operand:SWI12 1 "nonimmediate_operand")))]
"!TARGET_64BIT
- && SSE_FLOAT_MODE_P (<X87MODEF:MODE>mode) && TARGET_SSE_MATH"
+ && SSE_FLOAT_MODE_P (<MODEF:MODE>mode) && TARGET_SSE_MATH"
{
operands[1] = convert_to_mode (SImode, operands[1], 1);
- emit_insn (gen_floatsi<X87MODEF:mode>2 (operands[0], operands[1]));
+ emit_insn (gen_floatsi<MODEF:mode>2 (operands[0], operands[1]));
DONE;
})
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 4f0e3f12944..da7f54f1cd9 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2013-08-12 Perez Read <netfirewall@gmail.com>
+
+ PR target/58132
+ * gcc.target/i386/movabs-1.c: New test.
+
2013-08-12 Marek Polacek <polacek@redhat.com>
PR tree-optimization/57980
diff --git a/gcc/testsuite/gcc.target/i386/movabs-1.c b/gcc/testsuite/gcc.target/i386/movabs-1.c
new file mode 100644
index 00000000000..75ef8d2a6cb
--- /dev/null
+++ b/gcc/testsuite/gcc.target/i386/movabs-1.c
@@ -0,0 +1,10 @@
+/* { dg-do assemble } */
+/* { dg-options "-O2 -masm=intel" } */
+/* { dg-require-effective-target lp64 } */
+/* { dg-require-effective-target masm_intel } */
+
+void
+foo (void)
+{
+ *(volatile long*)0xFFFF800000000000 = -1;
+}
OpenPOWER on IntegriCloud