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...