[all-commits] [llvm/llvm-project] 5ff277: [libc][stdfix] Implement `idivfx` functions in LLV...

Krishna Pandey via All-commits all-commits at lists.llvm.org
Fri Apr 25 04:58:38 PDT 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 5ff277462dd717d0c52a9a8517f624b0b484e45a
      https://github.com/llvm/llvm-project/commit/5ff277462dd717d0c52a9a8517f624b0b484e45a
  Author: Krishna Pandey <47917477+krishna2803 at users.noreply.github.com>
  Date:   2025-04-25 (Fri, 25 Apr 2025)

  Changed paths:
    M libc/config/baremetal/arm/entrypoints.txt
    M libc/config/baremetal/riscv/entrypoints.txt
    M libc/config/linux/riscv/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/docs/headers/stdfix.rst
    M libc/include/stdfix.yaml
    M libc/src/__support/fixed_point/CMakeLists.txt
    M libc/src/__support/fixed_point/fx_bits.h
    M libc/src/__support/macros/null_check.h
    M libc/src/stdfix/CMakeLists.txt
    A libc/src/stdfix/idivk.cpp
    A libc/src/stdfix/idivk.h
    A libc/src/stdfix/idivlk.cpp
    A libc/src/stdfix/idivlk.h
    A libc/src/stdfix/idivlr.cpp
    A libc/src/stdfix/idivlr.h
    A libc/src/stdfix/idivr.cpp
    A libc/src/stdfix/idivr.h
    A libc/src/stdfix/idivuk.cpp
    A libc/src/stdfix/idivuk.h
    A libc/src/stdfix/idivulk.cpp
    A libc/src/stdfix/idivulk.h
    A libc/src/stdfix/idivulr.cpp
    A libc/src/stdfix/idivulr.h
    A libc/src/stdfix/idivur.cpp
    A libc/src/stdfix/idivur.h
    M libc/test/src/stdfix/CMakeLists.txt
    A libc/test/src/stdfix/IdivTest.h
    A libc/test/src/stdfix/idivk_test.cpp
    A libc/test/src/stdfix/idivlk_test.cpp
    A libc/test/src/stdfix/idivlr_test.cpp
    A libc/test/src/stdfix/idivr_test.cpp
    A libc/test/src/stdfix/idivuk_test.cpp
    A libc/test/src/stdfix/idivulk_test.cpp
    A libc/test/src/stdfix/idivulr_test.cpp
    A libc/test/src/stdfix/idivur_test.cpp

  Log Message:
  -----------
  [libc][stdfix] Implement `idivfx` functions in LLVM libc (#133005)

This PR implements the following 8 functions along with the tests.

```c++
int idivr(fract, fract);
long int idivlr(long fract, long fract);
int idivk(accum, accum);
long int idivlk(long accum, long accum);

unsigned int idivur(unsigned fract, unsigned fract);
unsigned long int idivulr(unsigned long fract, unsigned long fract);
unsigned int idivuk(unsigned accum, unsigned accum);
unsigned long int idivulk(unsigned long accum, unsigned long accum);
```

ref: https://www.iso.org/standard/51126.html

Fixes #129125

---------

Signed-off-by: krishna2803 <kpandey81930 at gmail.com>



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list