aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUros Bizjak <ubizjak@gmail.com>2013-01-27 13:16:54 +0000
committerUros Bizjak <ubizjak@gmail.com>2013-01-27 13:16:54 +0000
commit99819b04d74faef50e48af48a47e35ea2321e2f0 (patch)
tree69e3a0ec7f7aa47fb74a45a5a589ec9d276b1c32
parent61411d52b387ae193540282893413788a79f76be (diff)
PR target/56114
* config/i386/i386.md (*movabs<mode>_1): Add square brackets around operand 0 in movabs insn template for -masm=intel asm alternative. (*movabs<mode>_2): Ditto for operand 1. testsuite/ChangeLog: PR target/56114 * gcc.target/i386/pr56114.c: New test. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@195494 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog38
-rw-r--r--gcc/config/i386/i386.md4
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gcc.target/i386/pr56114.c10
4 files changed, 36 insertions, 21 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index a49bfdda700..05f66351856 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,10 @@
+2013-01-27 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/56114
+ * config/i386/i386.md (*movabs<mode>_1): Add square brackets around
+ operand 0 in movabs insn template for -masm=intel asm alternative.
+ (*movabs<mode>_2): Ditto for operand 1.
+
2013-01-26 David Holsgrove <david.holsgrove@xilinx.com>
PR target/54663
@@ -38,8 +45,8 @@
* config/aarch64/aarch64-simd-builtins.def: Separate sq<r>dmulh_lane
entries into lane and laneq entries.
- * config/aarch64/aarch64-simd.md (aarch64_sq<r>dmulh_lane<mode>): Remove
- AdvSIMD scalar modes.
+ * config/aarch64/aarch64-simd.md (aarch64_sq<r>dmulh_lane<mode>):
+ Remove AdvSIMD scalar modes.
(aarch64_sq<r>dmulh_laneq<mode>): New.
(aarch64_sq<r>dmulh_lane<mode>): New RTL pattern for Scalar AdvSIMD
modes.
@@ -91,8 +98,7 @@
2013-01-24 Diego Novillo <dnovillo@google.com>
- * Makefile.in (GGC): Remove. Replace all instances with
- ggc-page.o.
+ * Makefile.in (GGC): Remove. Replace all instances with ggc-page.o.
(ggc-zone.o): Remove.
* configure.ac: Remove option --with-gc.
* configure: Re-generate.
@@ -102,13 +108,11 @@
(output_type_enum): Remove. Update all users.
(write_enum_defn): Remove. Update all users.
(enum alloc_zone): Remove. Update all users.
- (write_splay_tree_allocator_def): Remove generation of gt_e_*
- argument.
+ (write_splay_tree_allocator_def): Remove generation of gt_e_* argument.
* ggc-common.c (ggc_splay_alloc): Remove first argument.
Update all callers.
(struct ptr_data): Remove field TYPE. Update all users.
- (gt_pch_note_object): Remove argument TYPE. Update all
- users.
+ (gt_pch_note_object): Remove argument TYPE. Update all users.
* ggc-internal.h (ggc_pch_alloc_object): Remove last argument.
Update all users.
* ggc-none.c (ggc_alloc_typed_stat): Remove.
@@ -116,14 +120,11 @@
(ggc_internal_alloc_zone_stat): Remove.
(ggc_internal_cleared_alloc_zone_stat): Remove.
* ggc-page.c (ggc_alloc_typed_stat): Remove.
- (ggc_pch_count_object): Remove last argument. Update all
- users.
- (ggc_pch_alloc_object): Remove last argument. Update all
- users.
+ (ggc_pch_count_object): Remove last argument. Update all users.
+ (ggc_pch_alloc_object): Remove last argument. Update all users.
(struct alloc_zone): Remove.
* ggc-zone.c: Remove.
- * ggc.h (gt_pch_note_object): Remove last argument. Update
- all users.
+ * ggc.h (gt_pch_note_object): Remove last argument. Update all users.
(struct alloc_zone): Remove.
(ggc_alloc_typed_stat): Remove.
(ggc_alloc_typed): Remove.
@@ -132,11 +133,9 @@
(tree_zone): Remove. Update all users.
(tree_id_zone): Remove. Update all users.
(ggc_internal_zone_alloc_stat): Remove. Update all users.
- (ggc_internal_zone_cleared_alloc_stat): Remove. Update all
- users.
+ (ggc_internal_zone_cleared_alloc_stat): Remove. Update all users.
(ggc_internal_zone_vec_alloc_stat): Remove. Update all users.
- * tree-ssanames.c: Remove references to zone allocator in
- comments.
+ * tree-ssanames.c: Remove references to zone allocator in comments.
2013-01-24 Georg-Johann Lay <avr@gjlay.de>
@@ -179,7 +178,8 @@
2013-01-23 Kostya Serebryany <kcc@google.com>
- * config/darwin.h: remove dependency on CoreFoundation (asan on Mac OS).
+ * config/darwin.h: remove dependency on
+ CoreFoundation (asan on Mac OS).
2013-01-23 Jakub Jelinek <jakub@redhat.com>
diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md
index 9d0a4995fcc..59b5b69b13b 100644
--- a/gcc/config/i386/i386.md
+++ b/gcc/config/i386/i386.md
@@ -2308,7 +2308,7 @@
(match_operand:SWI1248x 1 "nonmemory_operand" "a,r<i>"))]
"TARGET_LP64 && ix86_check_movabs (insn, 0)"
"@
- movabs{<imodesuffix>}\t{%1, %P0|%P0, %1}
+ movabs{<imodesuffix>}\t{%1, %P0|[%P0], %1}
mov{<imodesuffix>}\t{%1, %a0|%a0, %1}"
[(set_attr "type" "imov")
(set_attr "modrm" "0,*")
@@ -2322,7 +2322,7 @@
(mem:SWI1248x (match_operand:DI 1 "x86_64_movabs_operand" "i,r")))]
"TARGET_LP64 && ix86_check_movabs (insn, 1)"
"@
- movabs{<imodesuffix>}\t{%P1, %0|%0, %P1}
+ movabs{<imodesuffix>}\t{%P1, %0|%0, [%P1]}
mov{<imodesuffix>}\t{%a1, %0|%0, %a1}"
[(set_attr "type" "imov")
(set_attr "modrm" "0,*")
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 4d5a236727a..e5e19491997 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2013-01-27 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/56114
+ * gcc.target/i386/pr56114.c: New test.
+
2013-01-27 Paul Thomas <pault@gcc.gnu.org>
PR fortran/55984
diff --git a/gcc/testsuite/gcc.target/i386/pr56114.c b/gcc/testsuite/gcc.target/i386/pr56114.c
new file mode 100644
index 00000000000..43e62ae3b73
--- /dev/null
+++ b/gcc/testsuite/gcc.target/i386/pr56114.c
@@ -0,0 +1,10 @@
+/* { dg-do assemble } */
+/* { dg-options "-O2 -masm=intel" } */
+/* { dg-require-effective-target lp64 } */
+/* { dg-require-effective-target masm_intel } */
+
+long
+foo2 (void)
+{
+ return *(volatile int *) 0xFEE00000;
+}