ユーザ用ツール

サイト用ツール


cpu:atomic

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
次のリビジョン
前のリビジョン
次のリビジョン両方とも次のリビジョン
cpu:atomic [2019/07/07 18:07] ogacpu: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, :lo12:.L.str.11 
- bl printf 
  ldaxr w2, [x19]  ldaxr w2, [x19]
  cbz w2, .LBB0_18  cbz w2, .LBB0_18
行 263: 行 258:
 ===== load ===== ===== load =====
  
-==== ARMv8.xA (seq_cst/acquire) ====+==== ARMv7A (relaxed) ==== 
 + 
 +<code asm> 
 +        ldr    r0, [r4] 
 +</code> 
 + 
 +==== ARMv7A (acquire/consume/seq_cst) ==== 
 + 
 +<code asm> 
 +        ldr    r0, [r4] 
 +        dmb    ish 
 +</code> 
 + 
 + 
 +==== ARMv8.xA (relaxed) ==== 
 + 
 +<code asm> 
 + ldr w1, [x19] 
 +</code> 
 + 
 + 
 +==== ARMv8.xA (acquire/consume/seq_cst) ====
  
 <code asm> <code asm>
  ldar w1, [x19]  ldar w1, [x19]
 +</code>
 +
 +
 +
 +
 +----
 +===== store =====
 +
 +==== ARMv7A (relaxed) ====
 +
 +<code asm>
 +        str     r5, [r4]
 +</code>
 +
 +==== ARMv7A (release) ====
 +
 +<code asm>
 +        dmb     ish
 +        str     r5, [r4]
 +</code>
 +
 +==== ARMv7A (seq_cst) ====
 +
 +<code asm>
 +        dmb     ish
 +        str     r5, [r4]
 +        dmb     ish
 </code> </code>
  
行 273: 行 316:
  
 <code asm> <code asm>
- ldr w1, [sp, #8]+        str     w20, [x19]
 </code> </code>
  
  
 +==== ARMv8.xA (release/seq_cst) ====
 +
 +<code asm>
 +        stlr    w20, [x19]
 +</code>
  
  
cpu/atomic.txt · 最終更新: 2019/07/07 21:08 by oga

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki