My OS is in Windows and a Raspberry Pi emulator is used in QEMU and with "GCC" is used to exercise a code
I have a code with arm and I am trying to transcribe it with VFP intrusions, but it does not show me the result and convert result of integer operation to decimal in assembler.
It should show, for example: 3.3 ^ 5 = 391.35393
At the moment I have it with integers and the result is correct 3 ^ 5 = 243 and i need with VFP: 3.0 ^ 5 = 243.000 but is result 0.00000
     .data
fmt:    .ascii "%f\n \000"
    .text
    .global main
main:
     push {fp, lr}
     MOV r1, #3
     VMOV s0, r1
     MOV r2, #5
     VMOV s2, r1
     
     BL X_POWER_Y   
     B loop
X_POWER_Y:
  CMP r2, #0        
  BEQ ZERO_COND
  CMP r2,#1         
  BEQ POWER_1
  MOV r3, #1
  while:
    CMP r3, r2 
        
        BGT BREAK
        ADD r3, r3, #1
        //MUL r0, r0, r1  //This line is commented
        //VFP
        vmul.f32 s4, s4, s0
        
        vcvt.f64.f32 d0, s4
        B while
        vmov    r2, r3, d0
POWER_1:
   MOV r0, r1
   B BREAK
ZERO_COND:
   MOV r0, #1
   B BREAK
BREAK:
   MOV r1, r0
loop:
    ldr r0, =fmt
    bl printf
    B _exit
    
    pop {fp, pc}
.end
