QRepeat.ssa 550 B

1234567891011121314151617181920212223242526272829303132
  1. # QBE IR generated by the SimpleQ backend
  2. data $i = { w 0 }
  3. data $s = { w 0 }
  4. data $ExitCode = { w 0 }
  5. export function w $main() {
  6. @start
  7. %t0 =w loadw $i
  8. storew 0, $i
  9. %t1 =w loadw $s
  10. storew 0, $s
  11. @L0
  12. %t2 =w loadw $i
  13. %t3 =w loadw $i
  14. %t4 =w add %t3, 1
  15. storew %t4, $i
  16. %t5 =w loadw $s
  17. %t6 =w loadw $s
  18. %t7 =w loadw $i
  19. %t8 =w add %t6, %t7
  20. storew %t8, $s
  21. %t9 =w loadw $i
  22. %t10 =w csgew %t9, 10
  23. jnz %t10, @L1, @L0
  24. @L1
  25. %t11 =w loadw $ExitCode
  26. %t12 =w loadw $s
  27. storew %t12, $ExitCode
  28. %ec =w loadw $ExitCode
  29. ret %ec
  30. }