erratum835769.s 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. .text
  2. .align 2
  3. .global main
  4. .type main, %function
  5. main:
  6. stp x29, x30, [sp, -32]!
  7. add x29, sp, 0
  8. mov x0, -26
  9. str x0, [x29,16]
  10. mov x0, 26
  11. str x0, [x29,24]
  12. add x4, x29, 16
  13. mov x0, -1
  14. mov x1, 2
  15. mov x2, -3
  16. mov x3, 4
  17. bl a1ldr
  18. add x4, x29, 16
  19. mov x0, -1
  20. mov x1, 2
  21. mov x2, -3
  22. mov x3, 4
  23. bl a5ldr
  24. mov w0, 0
  25. ldp x29, x30, [sp], 32
  26. ret
  27. .size main, .-main
  28. .align 2
  29. .global a1ldr
  30. .type a1ldr, %function
  31. a1ldr:
  32. ldr w7, [x4,8]!
  33. mul w6, w0, w1
  34. ldr x4, [x4]
  35. madd x5, x2, x3, x6
  36. mov x0, x5
  37. ret
  38. .size a1ldr, .-a1ldr
  39. .align 2
  40. .global a5ldr
  41. .type a5ldr, %function
  42. a5ldr:
  43. ldr w7, [x4,8]!
  44. mul w6, w0, w1
  45. ldr x4, [x4]
  46. umaddl x5, w2, w3, x6
  47. mov x0, x5
  48. ret
  49. .size a5ldr, .-a5ldr
  50. .align 2
  51. .global a6ldr
  52. .type a6ldr, %function
  53. a6ldr:
  54. ldr w7, [x4,8]!
  55. mul w6, w0, w1
  56. ldr x4, [x4]
  57. madd x5, x4, x3, x6
  58. mov x0, x5
  59. ret
  60. .size a6ldr, .-a6ldr
  61. .align 2
  62. .global a6ldr
  63. .type a6ldr, %function
  64. a7str:
  65. ldr w7, [x4,8]!
  66. mul w6, w0, w1
  67. str x4, [x4]
  68. madd x5, x4, x3, x6
  69. mov x0, x5
  70. ret
  71. .size a7str, .-a7str