zig icon indicating copy to clipboard operation
zig copied to clipboard

compiler_rt: Tracking Issue SPARC Routines

Open matu3ba opened this issue 2 years ago • 0 comments

SYSTEM V APPLICATION BINARY INTERFACE SPARC Processor Supplement Third Edition

Support Routines Besides operating system services, libsys contains the following processor-specific support routines.

Figure 6-1: libsys Support Routines docs are not very specific on which are needed and glibc is unreadable) These dould be the regular SPARC symbols and the other the 64bit symbols. TODO: investigate more.

  • _Q_add
  • _Q_cmp
  • _Q_cmpe
  • _Q_div
  • _Q_dtoq
  • _Q_feq
  • _Q_fge
  • _Q_fgt
  • _Q_fle
  • _Q_flt
  • _Q_fne
  • _Q_itoq
  • _Q_mul
  • _Q_neg
  • _Q_qtod
  • _Q_qtoi
  • _Q_qtos
  • [ ] _Q_qtou: why is there _Qp_qtoui, _Qp_qtoux, _Qp_qtox ?
  • _Q_sqrt
  • _Q_stoq
  • _Q_sub
  • _Q_utoq: why is there _Qp_uitoq, _Qp_uxtoq, _Qp_xtoq ?
  • [ ] .div: more
  • __dtou: conversion
  • __ftou: conversion
  • [ ] .mul
  • [ ] .rem
  • [ ] .stret1
  • [ ] .stret2
  • [ ] .stret4
  • [ ] .stret8
  • [ ] .udiv
  • [ ] .umul
  • [ ] .urem: There is no rem or urem in libc 64 psABI

libc 64 psABI (currently implemented in compiler_rt):

  • [x] _Qp_add
  • [x] _Qp_cmp
  • [ ] _Qp_cmpe
  • [x] _Qp_div
  • [x] _Qp_dtoq
  • [x] _Qp_feq
  • [x] _Qp_fge
  • [x] _Qp_fgt
  • [x] _Qp_fle
  • [x] _Qp_flt
  • [x] _Qp_fne
  • [x] _Qp_itoq
  • [x] _Qp_mul: why is there .umul, .mul, _Q_mul ?
  • [ ] _Qp_neg
  • [x] _Qp_qtod
  • [x] _Qp_qtoi
  • [x] _Qp_qtos
  • [x] _Qp_qtoui
  • [x] _Qp_qtoux
  • [x] _Qp_qtox
  • [ ] _Qp_sqr
  • [x] _Qp_stoq
  • [x] _Qp_sub
  • [x] _Qp_uitoq
  • [x] _Qp_uxtoq
  • [x] _Qp_xtoq
  • [ ] __dtoul
  • [ ] __ftoul

matu3ba avatar Jun 19 '23 22:06 matu3ba