Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

59 lines
1.1 KiB

  1. #include "ksia64.h"
  2. LEAF_ENTRY (ChkSum)
  3. .prologue
  4. alloc t21 = ar.pfs, 3, 0, 0, 0
  5. .save ar.lc, t22
  6. mov t22 = ar.lc
  7. zxt4 t3 = a2
  8. ;;
  9. cmp4.eq pt0, pt1 = zero, a2
  10. add t7 = 64, a1
  11. add t3 = -1, t3
  12. ;;
  13. (pt1) ld2.nta t0 = [a1], 2
  14. mov ar.lc = t3
  15. cmp4.ne pt2 = 1, a2
  16. mov t10 = 0xffff
  17. zxt4 a0 = a0
  18. (pt0) br.cond.spnt cs20
  19. ;;
  20. cs10:
  21. (pt2) ld2.nta t4 = [a1], 2
  22. add a2 = -1, a2
  23. add a0 = t0, a0
  24. ;;
  25. (pt1) lfetch.nta [t7], 64
  26. extr.u t1 = a0, 16, 16
  27. and t2 = a0, t10
  28. ;;
  29. cmp4.ne pt2 = 1, a2
  30. nop.f 0
  31. tbit.nz pt1 = a1, 6
  32. mov t0 = t4
  33. add a0 = t1, t2
  34. br.cloop.dptk cs10
  35. ;;
  36. cs20:
  37. nop.m 0
  38. extr.u t1 = a0, 16, 16
  39. ;;
  40. add a0 = t1, a0
  41. ;;
  42. mov ar.lc = t22
  43. and v0 = a0, t10
  44. br.ret.sptk brp
  45. LEAF_EXIT (ChkSum)