I'm developing an assembler code with SPLOOP instruction.
It's a simple counter cycle with integer value and with float.
The inputs are:
A12 = 0x0000001
A4 = 0x3F800000 (1.0 float)
B6 = 2047
the main code is:
ZERO .L1 A30
ZERO .L2 B25
MVC .S2 B6, ILC
NOP 4
;-----------------------------------
SPLOOP 1
ADDSP .L2X B25, A4, B25
|| ADD .L1 A30, A12, A30
SPKERNEL 0,0 ; End loop
;-----------------------------------
The results are:
B25 = 0x44000000 (512.0 float)
A30 = 0x000007FF (2047)
The A30 is correct but the B25 it's wrong (I expected a value of 2047.0 float).
Why? What's wrong?
Thank you.