llvm / llvm/llvm-project

[libc][math] Optimize C23 half precision pow function

Open
#181,846 1 comment 0 reactions 0 assignees View on GitHub
enhancement libc
Dominant language
LLVM
Stars
40.5k
Forks
18.7k
PR merge metrics
PR metrics pending

Description

`powf16` implementation currently performs all computations in double precision. To improve performance it should use float whenever possible, finding an alternative way to compute for integer `y` would also be ideal

https://github.com/llvm/llvm-project/pull/159906#pullrequestreview-3814710951

Contributor guide

Open the contributing guide

Research direction

Start by locating the libc math implementation of powf16 and review the linked pull request discussion for context. Compare where the implementation currently uses double precision, then determine which computations can use float and how integer y should be handled. Done means the optimization is implemented without changing powf16’s required behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
c
Domain
backend, performance
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.