QReal.ssa 898 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. # QBE IR generated by the SimpleQ backend
  2. data $Pi = { d 0 }
  3. data $r = { d 0 }
  4. data $s = { d 0 }
  5. data $x = { w 0 }
  6. data $ExitCode = { w 0 }
  7. export function w $main() {
  8. @start
  9. %t0 =d copy d_2.5
  10. stored %t0, $Pi
  11. %t1 =w loadw $x
  12. storew 3, $x
  13. %t2 =d loadd $r
  14. %t3 =w loadw $x
  15. %t4 =d swtof %t3
  16. stored %t4, $r
  17. %t5 =d loadd $s
  18. %t6 =d mul d_3.5, d_2.0
  19. stored %t6, $s
  20. %t7 =d loadd $r
  21. %t8 =d loadd $r
  22. %t9 =d loadd $Pi
  23. %t10 =d add %t8, %t9
  24. stored %t10, $r
  25. %t11 =d loadd $s
  26. %t12 =d loadd $r
  27. %t13 =w cgtd %t11, %t12
  28. jnz %t13, @L0, @L1
  29. @L0
  30. %t14 =w loadw $ExitCode
  31. storew 11, $ExitCode
  32. jmp @L2
  33. @L1
  34. %t15 =w loadw $ExitCode
  35. storew 12, $ExitCode
  36. @L2
  37. %t16 =d loadd $s
  38. %t17 =w ceqd %t16, d_7.0
  39. jnz %t17, @L3, @L4
  40. @L3
  41. %t18 =w loadw $ExitCode
  42. %t19 =w loadw $ExitCode
  43. %t20 =w add %t19, 20
  44. storew %t20, $ExitCode
  45. @L4
  46. @L5
  47. %ec =w loadw $ExitCode
  48. ret %ec
  49. }