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 DSB (Data Synchronization Barrier) instruction ensures the completion of memory accesses and has assembly syntax:
DSB{}{} {}
Where the optional value can impose a limitation on the types of memory accesses effected. There are a number of proscribed assembly strings for this option, the default is "SY"
The ARMARM says the following about this value:
"All other encodings of option are reserved. It is implementation defined whether options other than SY are implemented. All unsupported and reserved options must execute as a full system DSB operation, but software must not rely on this behavior."
Currently, the MC Assembler does not have any syntax for the reserved option values. GNU recognises "DSB 0x0" for example as the reserved option value 0. The ARM assembler in MC throws a syntax error on this instruction.
In addition, all encodings of this instruction with any of bits 12:19 unset or any of the bits 8:11 set is UNPREDICTABLE. The MC decoder does not recognise this.
Extended Description
The DSB (Data Synchronization Barrier) instruction ensures the completion of memory accesses and has assembly syntax:
DSB{}{
Where the optional value can impose a limitation on the types of memory accesses effected. There are a number of proscribed assembly strings for this option, the default is "SY"
The ARMARM says the following about this value:
"All other encodings of option are reserved. It is implementation defined whether options other than SY are implemented. All unsupported and reserved options must execute as a full system DSB operation, but software must not rely on this behavior."
Currently, the MC Assembler does not have any syntax for the reserved option values. GNU recognises "DSB 0x0" for example as the reserved option value 0. The ARM assembler in MC throws a syntax error on this instruction.
In addition, all encodings of this instruction with any of bits 12:19 unset or any of the bits 8:11 set is UNPREDICTABLE. The MC decoder does not recognise this.
Reproduce with:
echo "DSB #0x1" | .../llvm-mc -triple armv7 -show-inst -show-encoding
echo "0x4f 0xf0 0x7e 0xfa | .../llvm-mc -triple armv7 -disassemble -show-isnt -show-encoding
The text was updated successfully, but these errors were encountered: