llvm / llvm/llvm-project

[libc] Tracking Issue - Add float80 functions in LLVM-libc

Open
#219,707 1 comment 0 reactions 1 assignee Claimed by @Sukumarsawant View on GitHub
libc metaissue
Dominant language
LLVM
Stars
40.5k
Forks
18.7k
PR merge metrics
PR metrics pending

Description

# Float80 Entry Points
### Basic arithmetic / conversion

* [ ] **BF16 arithmetic**

* [ ] `bf16addf80`
* [ ] `bf16subf80`
* [ ] `bf16mulf80`
* [ ] `bf16divf80`
* [ ] `bf16fmaf80`

* [ ] **F16 basic arithmetic**

* [ ] `f16addf80`
* [ ] `f16subf80`
* [ ] `f16mulf80`
* [ ] `f16divf80`

* [ ] **F16 FMA + sqrt**

* [ ] `f16fmaf80`
* [ ] `f16sqrtf80`

* [ ] **Double basic arithmetic**

* [ ] `daddf80`
* [ ] `dsubf80`
* [ ] `dmulf80`
* [ ] `ddivf80`

* [ ] **Double FMA + sqrt**

* [ ] `dfmaf80`
* [ ] `dsqrtf80`

* [ ] **Float basic arithmetic**

* [ ] `faddf80`
* [ ] `fsubf80`
* [ ] `fmulf80`
* [ ] `fdivf80`

* [ ] **Float FMA + sqrt**

* [ ] `ffmaf80`
* [ ] `fsqrtf80`

### Rounding

* [ ] **ceil**
* [ ] `ceilf80`

* [ ] **floor**
* [ ] `floorf80`

* [ ] **trunc**
* [ ] `truncf80`

* [ ] **round**
* [ ] `roundf80`

* [ ] **roundeven**
* [ ] `roundevenf80`

* [ ] **nearbyint**
* [ ] `nearbyintf80`

* [ ] **Round-to-integer**
* [ ] `lrintf80`
* [ ] `llrintf80`
* [ ] `rintf80`

* [ ] **Round-to-integer-returning**
* [ ] `lroundf80`
* [ ] `llroundf80`

### Floating-point conversion

* [ ] **fromfp family**

* [ ] `fromfpf80`
* [ ] `fromfpxf80`
* [ ] `ufromfpf80`
* [ ] `ufromfpxf80`

### Sign / comparison / min-max

* [ ] **Sign manipulation**

* [ ] `fabsf80`
* [ ] `copysignf80`

* [ ] **fmax/fmin**

* [ ] `fmaxf80`
* [ ] `fminf80`

* [ ] **fmaximum/fminimum**

* [ ] `fmaximumf80`
* [ ] `fminimumf80`

* [ ] **fmaximum_num/fminimum_num**

* [ ] `fmaximum_numf80`
* [ ] `fminimum_numf80`

* [ ] **fmaximum_mag/fminimum_mag**

* [ ] `fmaximum_magf80`
* [ ] `fminimum_magf80`

* [ ] **fmaximum_mag_num/fminimum_mag_num**

* [ ] `fmaximum_mag_numf80`
* [ ] `fminimum_mag_numf80`

* [ ] **fdim**

* [ ] `fdimf80`

### Ordering / classification

* [ ] **Total ordering**

* [ ] `totalorderf80`
* [ ] `totalordermagf80`

* [ ] **Classification**

* [ ] `iscanonicalf80`
* [ ] `isnanf80`
* [ ] `issignalingf80`

* [ ] **canonicalizef80**

### Exponent / mantissa manipulation

* [ ] **Exponent decomposition**

* [ ] `frexpf80`
* [ ] `logbf80`
* [ ] `ilogbf80`
* [ ] `llogbf80`

* [ ] **Exponent scaling**

* [ ] `ldexpf80`
* [ ] `scalbnf80`
* [ ] `scalblnf80`

* [ ] **Mantissa manipulation**

* [ ] `modff80`

### Next / NaN / payload

* [ ] **Next representable**

* [ ] `nextafterf80`
* [ ] `nextupf80`
* [ ] `nextdownf80`

* [ ] **NaN / payload**

* [ ] `nanf80`
* [ ] `getpayloadf80`
* [ ] `setpayloadf80`
* [ ] `setpayloadsigf80`

### Remainder

* [ ] **Remainder family**

* [ ] `fmodf80`
* [ ] `remainderf80`

* [ ] `remquof80`

> The list was organized using AI.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.