QBool.ssa 782 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. # QBE IR generated by the SimpleQ backend
  2. data $a = { w 0 }
  3. data $b = { w 0 }
  4. data $x = { w 0 }
  5. data $y = { w 0 }
  6. data $ExitCode = { w 0 }
  7. export function w $main() {
  8. @start
  9. %t0 =w loadw $x
  10. storew 5, $x
  11. %t1 =w loadw $y
  12. storew 10, $y
  13. %t2 =w loadw $a
  14. %t3 =w loadw $x
  15. %t4 =w loadw $y
  16. %t5 =w csltw %t3, %t4
  17. %t6 =w loadw $x
  18. %t7 =w cnew %t6, 0
  19. %t8 =w and %t5, %t7
  20. storew %t8, $a
  21. %t9 =w loadw $b
  22. %t10 =w loadw $a
  23. %t11 =w xor 1, %t10
  24. %t12 =w loadw $x
  25. %t13 =w ceqw %t12, 5
  26. %t14 =w or %t11, %t13
  27. storew %t14, $b
  28. %t15 =w loadw $a
  29. %t16 =w loadw $b
  30. %t17 =w and %t15, %t16
  31. jnz %t17, @L0, @L1
  32. @L0
  33. %t18 =w loadw $ExitCode
  34. storew 42, $ExitCode
  35. jmp @L2
  36. @L1
  37. %t19 =w loadw $ExitCode
  38. storew 1, $ExitCode
  39. @L2
  40. %ec =w loadw $ExitCode
  41. ret %ec
  42. }