You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The `pure` option must be combined with either the `nomem` or `readonly` options, otherwise a compile-time error is emitted.
506
506
507
507
r[asm.options.supported-options.nomem]
508
-
-`nomem`: The `asm!`blocks does not read or write to any memory.
508
+
-`nomem`: The `asm!`block does not read from or write to any memory accessible outside of the `asm!` block.
509
509
This allows the compiler to cache the values of modified global variables in registers across the `asm!` block since it knows that they are not read or written to by the `asm!`.
510
510
The compiler also assumes that this `asm!` block does not perform any kind of synchronization with other threads, e.g. via fences.
511
511
512
512
r[asm.options.supported-options.readonly]
513
-
-`readonly`: The `asm!` block does not write to any memory.
513
+
-`readonly`: The `asm!` block does not write to any memory accessible outside of the `asm!` block.
514
514
This allows the compiler to cache the values of unmodified global variables in registers across the `asm!` block since it knows that they are not written to by the `asm!`.
515
515
The compiler also assumes that this `asm!` block does not perform any kind of synchronization with other threads, e.g. via fences.
0 commit comments