x86 vs ARM Memory Ordering

Discussions center on differences in memory models between x86 (strong ordering, TSO) and ARM (relaxed, requiring barriers), including store buffers, reordering, compiler optimizations, and the need for atomics or fences for correct concurrency.

📉 Falling 0.4x Hardware
2,762
Comments
19
Years Active
5
Top Authors
#9562
Topic ID

Activity Over Time

2008
2
2009
15
2010
15
2011
40
2012
56
2013
60
2014
123
2015
102
2016
145
2017
136
2018
120
2019
274
2020
319
2021
253
2022
235
2023
370
2024
273
2025
199
2026
25

Keywords

VLDM CPUID CPU PTX e.g ARM doc.rust STORES IR MMIO memory x86 model compiler arm loads barriers ordered ordering consistency

Sample Comments

cma • Aug 28, 2020 • View on HN

X64 has stronger guarantees than that without barriers doesn't it?

skohan • Dec 20, 2020 • View on HN

A lot of it has to do with the stricter requirements on ordering of memory operations on x86 right?

twoodfin • Nov 17, 2020 • View on HN

Don't forget ARM's more relaxed memory model vs. x86's TSO.

unanswered • Jun 4, 2021 • View on HN

It sounds like you have software in your stack which assumes a strong memory model.

trebligdivad • Mar 16, 2024 • View on HN

Is that lot true on x86? I thought it's (fairly) strict memory ordering meant you didn't have acquire type thing?

bcrl • Dec 12, 2022 • View on HN

The code is missing a memory barrier. x86 has a strongly ordered memory model, but writes can reside in the store buffer and take a long time before becoming visible to other parts of the system.

mehrdadn • Jul 13, 2019 • View on HN

Where did you see the article claim it was a memory barrier?

vardump • May 11, 2017 • View on HN

He means x86 doesn't reorder memory store order with other stores or loads with other loads, etc.See: https://en.wikipedia.org/wiki/Memory_ordering#In_symmetric_m...

vardump • May 27, 2015 • View on HN

CPU memory model and atomics support is what matters here. Dalvik or ART are unlikely to have anything to do with it, as long as they provide access.

xilun0 • Aug 8, 2010 • View on HN

This guy pretend that x86 is strongly ordered, while it is not...