diff options
author | Yvan Roux <yvan.roux@linaro.org> | 2017-03-03 15:32:35 +0100 |
---|---|---|
committer | Yvan Roux <yvan.roux@linaro.org> | 2017-03-14 09:20:02 +0000 |
commit | 9dd28c31075ca6a22fa853f61c62c2e591c20e39 (patch) | |
tree | abcbfc9d6e490b8ead86d520eb5bad2534983666 | |
parent | b66b46e0487236d617d4cb7b0bb7decffe78ced6 (diff) |
gcc/
Backport from trunk r243427.
2016-12-08 Andrew Pinski <apinski@cavium.com>
* config/aarch64/aarch64.c (aarch64_load_symref_appropriately):
Access the lower part of RTX appropriately.
gcc/testsuite/
Backport from trunk r243427.
2016-12-08 Andrew Pinski <apinski@cavium.com>
* gcc.target/aarch64/pr71112.c : New Testcase.
Change-Id: I65299a59fe8e65328bd6def2ec86cf7fcd10ce8c
-rw-r--r-- | gcc/config/aarch64/aarch64.c | 3 | ||||
-rw-r--r-- | gcc/testsuite/gcc.c-torture/compile/pr71112.c | 10 |
2 files changed, 12 insertions, 1 deletions
diff --git a/gcc/config/aarch64/aarch64.c b/gcc/config/aarch64/aarch64.c index 8434707ea15..404dcfc0fbc 100644 --- a/gcc/config/aarch64/aarch64.c +++ b/gcc/config/aarch64/aarch64.c @@ -1303,7 +1303,8 @@ 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/gcc.c-torture/compile/pr71112.c b/gcc/testsuite/gcc.c-torture/compile/pr71112.c new file mode 100644 index 00000000000..69e2df6f0e2 --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/compile/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; +} |