The pseudo-instruction (identified as a pseudo-instruction by the equals sign)
VLDR S0,=constant
should be replaced by one of:
VMOV S0,#constant // The "#" may be omitted if using the directive, ".syntax unified"
or:
VLDR S0,label
...
label: .float constant
However, it only seems to work when "constant" is an integer (e.g., 3) and fails for any floating-point constant - even if the fractional part is zero (as in 3.0). For example, the assembler rejects the following:
VLDR S0,=3.14159
and issue the error message: "Error: garbage following instruction -- 'vldr S0,=3.14159'
This is using toolchain version 5.4 and the gnu assembler (as) version 2.26.0.
The pseudo-instruction (identified as a pseudo-instruction by the equals sign)
VLDR S0,=constant
should be replaced by one of:
VMOV S0,#constant // The "#" may be omitted if using the directive, ".syntax unified"
or:
VLDR S0,label
...
label: .float constant
However, it only seems to work when "constant" is an integer (e.g., 3) and fails for any floating-point constant - even if the fractional part is zero (as in 3.0). For example, the assembler rejects the following:
VLDR S0,=3.14159
and issue the error message: "Error: garbage following instruction -- 'vldr S0,=3.14159'
This is using toolchain version 5.4 and the gnu assembler (as) version 2.26.0.