diff options
Diffstat (limited to 'gcc/config/alpha')
-rw-r--r-- | gcc/config/alpha/alpha.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/gcc/config/alpha/alpha.c b/gcc/config/alpha/alpha.c index 78717f9..e970227 100644 --- a/gcc/config/alpha/alpha.c +++ b/gcc/config/alpha/alpha.c @@ -4444,6 +4444,8 @@ alpha_split_compare_and_swap_12 (rtx operands[]) mem = gen_rtx_MEM (DImode, align); MEM_VOLATILE_P (mem) = MEM_VOLATILE_P (orig_mem); + if (MEM_ALIAS_SET (orig_mem) == ALIAS_SET_MEMORY_BARRIER) + set_mem_alias_set (mem, ALIAS_SET_MEMORY_BARRIER); alpha_pre_atomic_barrier (mod_s); @@ -4583,6 +4585,8 @@ alpha_split_atomic_exchange_12 (rtx operands[]) mem = gen_rtx_MEM (DImode, align); MEM_VOLATILE_P (mem) = MEM_VOLATILE_P (orig_mem); + if (MEM_ALIAS_SET (orig_mem) == ALIAS_SET_MEMORY_BARRIER) + set_mem_alias_set (mem, ALIAS_SET_MEMORY_BARRIER); alpha_pre_atomic_barrier (model); |