cpu:atomic
差分
このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン前のリビジョン次のリビジョン | 前のリビジョン次のリビジョン両方とも次のリビジョン | ||
cpu:atomic [2019/07/07 19:29] – oga | cpu:atomic [2019/07/07 20:09] – [ARMv8.0A] oga | ||
---|---|---|---|
行 168: | 行 168: | ||
<code asm> | <code asm> | ||
- | stlr wzr, [x19] | ||
- | ldar w1, [x19] | ||
- | adrp x0, .L.str.11 | ||
- | add x0, x0, : | ||
- | bl printf | ||
ldaxr w2, [x19] | ldaxr w2, [x19] | ||
cbz w2, .LBB0_18 | cbz w2, .LBB0_18 | ||
行 266: | 行 261: | ||
<code asm> | <code asm> | ||
- | ldr r0, .LCPI0_1 | + | ldr r0, [r4] |
</ | </ | ||
+ | ==== ARMv7A (acquire/ | ||
+ | <code asm> | ||
+ | ldr r0, [r4] | ||
+ | dmb ish | ||
+ | </ | ||
- | ==== ARMv8.xA (seq_cst/acquire) ==== | + | |
+ | ==== ARMv8.xA (relaxed) ==== | ||
+ | |||
+ | <code asm> | ||
+ | ldr w1, [x19] | ||
+ | </code> | ||
+ | |||
+ | |||
+ | ==== ARMv8.xA (acquire/ | ||
<code asm> | <code asm> | ||
ldar w1, [x19] | ldar w1, [x19] | ||
+ | </ | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ---- | ||
+ | ===== store ===== | ||
+ | |||
+ | ==== ARMv7A (relaxed) ==== | ||
+ | |||
+ | <code asm> | ||
+ | str r5, [r4] | ||
+ | </ | ||
+ | |||
+ | ==== ARMv7A (release) ==== | ||
+ | |||
+ | <code asm> | ||
+ | dmb ish | ||
+ | str r5, [r4] | ||
+ | </ | ||
+ | |||
+ | ==== ARMv7A (seq_cst) ==== | ||
+ | |||
+ | <code asm> | ||
+ | dmb ish | ||
+ | str r5, [r4] | ||
+ | dmb ish | ||
</ | </ | ||
行 281: | 行 316: | ||
<code asm> | <code asm> | ||
- | ldr w1, [sp, #8] | + | str w20, [x19] |
</ | </ | ||
+ | ==== ARMv8.xA (release/ | ||
+ | |||
+ | <code asm> | ||
+ | stlr w20, [x19] | ||
+ | </ | ||
cpu/atomic.txt · 最終更新: 2019/07/07 21:08 by oga