diff options
author | Walter Lee <walt@tilera.com> | 2014-01-25 20:23:42 +0000 |
---|---|---|
committer | Walter Lee <walt@gcc.gnu.org> | 2014-01-25 20:23:42 +0000 |
commit | 450c1ffe7717b814b69154b2ab0f66239a8820ba (patch) | |
tree | 1f419840888c27ee2c31636785f3bf3042383427 /gcc | |
parent | 317a951fc75f1afb5e4fc25810722cf9044da7ed (diff) | |
download | gcc-450c1ffe7717b814b69154b2ab0f66239a8820ba.zip gcc-450c1ffe7717b814b69154b2ab0f66239a8820ba.tar.gz gcc-450c1ffe7717b814b69154b2ab0f66239a8820ba.tar.bz2 |
tilegx.c (tilegx_expand_builtin): Set PREFETCH_SCHEDULE_BARRIER_P to true for prefetches.
2014-01-25 Walter Lee <walt@tilera.com>
* config/tilegx/tilegx.c (tilegx_expand_builtin): Set
PREFETCH_SCHEDULE_BARRIER_P to true for prefetches.
* config/tilepro/tilepro.c (tilepro_expand_builtin): Ditto.
From-SVN: r207080
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 8 | ||||
-rw-r--r-- | gcc/config/tilegx/tilegx.c | 6 | ||||
-rw-r--r-- | gcc/config/tilepro/tilepro.c | 6 |
3 files changed, 19 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 921b0ce..a4f5fd5 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,11 @@ -2014-01-25 Richard Sandiford <rdsandiford@googlemail.com> +2014-01-25 Walter Lee <walt@tilera.com> + * config/tilegx/tilegx.c (tilegx_expand_builtin): Set + PREFETCH_SCHEDULE_BARRIER_P to true for prefetches. + * config/tilepro/tilepro.c (tilepro_expand_builtin): Ditto. + +2014-01-25 Richard Sandiford <rdsandiford@googlemail.com> + * config/mips/constraints.md (kl): Delete. * config/mips/mips.md (divmod<mode>4, udivmod<mode>4): Turn into define expands, using... diff --git a/gcc/config/tilegx/tilegx.c b/gcc/config/tilegx/tilegx.c index 85a46f7..c168621 100644 --- a/gcc/config/tilegx/tilegx.c +++ b/gcc/config/tilegx/tilegx.c @@ -3570,6 +3570,12 @@ tilegx_expand_builtin (tree exp, } if (!pat) return NULL_RTX; + + /* If we are generating a prefetch, tell the scheduler not to move + it around. */ + if (GET_CODE (pat) == PREFETCH) + PREFETCH_SCHEDULE_BARRIER_P (pat) = true; + emit_insn (pat); if (nonvoid) diff --git a/gcc/config/tilepro/tilepro.c b/gcc/config/tilepro/tilepro.c index 615d490..74f8800 100644 --- a/gcc/config/tilepro/tilepro.c +++ b/gcc/config/tilepro/tilepro.c @@ -3184,6 +3184,12 @@ tilepro_expand_builtin (tree exp, } if (!pat) return NULL_RTX; + + /* If we are generating a prefetch, tell the scheduler not to move + it around. */ + if (GET_CODE (pat) == PREFETCH) + PREFETCH_SCHEDULE_BARRIER_P (pat) = true; + emit_insn (pat); if (nonvoid) |