summaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authornaveenh <naveenh@138bc75d-0d04-0410-961f-82ee72b054a4>2017-07-06 09:31:25 +0000
committernaveenh <naveenh@138bc75d-0d04-0410-961f-82ee72b054a4>2017-07-06 09:31:25 +0000
commitcafbde4d61935a3791e76b950e917726d010c838 (patch)
tree10bc6b39bdd442c57936d82e0625b87ae0cfb363 /gcc
parent10c4ea6778139aa5ad0a519efde0f5f1ae0c472d (diff)
downloadgcc-cafbde4d61935a3791e76b950e917726d010c838.tar.gz
gcc
* config/aarch64/aarch64.c (aarch64_load_symref_appropriately): Access the lower part of RTX appropriately. gcc/testsuite * gcc.target/aarch64/pr71112.c : New Testcase. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-6-branch@250014 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/aarch64/aarch64.c2
-rw-r--r--gcc/testsuite/ChangeLog4
-rw-r--r--gcc/testsuite/gcc.target/aarch64/pr71112.c10
4 files changed, 20 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 0a9e190857f..cfdcab8e40e 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2017-07-06 Andrew Pinski <apinski@cavium.com>
+
+ * config/aarch64/aarch64.c (aarch64_load_symref_appropriately):
+ Access the lower part of RTX appropriately.
+
2017-07-04 Richard Biener <rguenther@suse.de>
* BASE-VER: Bump to 6.4.1.
diff --git a/gcc/config/aarch64/aarch64.c b/gcc/config/aarch64/aarch64.c
index e79165b0fb2..b2f0958abab 100644
--- a/gcc/config/aarch64/aarch64.c
+++ b/gcc/config/aarch64/aarch64.c
@@ -1110,7 +1110,7 @@ aarch64_load_symref_appropriately (rtx dest, rtx imm,
emit_move_insn (gp_rtx, gen_rtx_HIGH (Pmode, s));
if (mode != GET_MODE (gp_rtx))
- gp_rtx = simplify_gen_subreg (mode, gp_rtx, GET_MODE (gp_rtx), 0);
+ gp_rtx = gen_lowpart (mode, gp_rtx);
}
if (mode == ptr_mode)
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 58c8016ed16..f900aeda382 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,7 @@
+2017-07-06 Andrew Pinski <apinski@cavium.com>
+
+ * gcc.target/aarch64/pr71112.c : New Testcase.
+
2017-07-04 Release Manager
* GCC 6.4.0 released.
diff --git a/gcc/testsuite/gcc.target/aarch64/pr71112.c b/gcc/testsuite/gcc.target/aarch64/pr71112.c
new file mode 100644
index 00000000000..69e2df6f0e2
--- /dev/null
+++ b/gcc/testsuite/gcc.target/aarch64/pr71112.c
@@ -0,0 +1,10 @@
+/* PR target/71112. */
+/* { dg-additional-options "-fpie" { target pie } } */
+
+extern int dbs[100];
+void f (int *);
+int nscd_init (void)
+{
+ f (dbs);
+ return 0;
+}