Rust-GCC / Rust-GCC/gccrs

Compile `PLATFORM_INTRINSIC` ABI extern functions

Open
#4,819 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

codegen core
Dominant language
C++
Stars
2.9k
Forks
231
Avg merge
19h 55m
Merged PRs (30d)
67

Description

Continuation of https://github.com/Rust-GCC/gccrs/issues/4791, we do not support compilation of platform intrinsic built-ins yet, e.g:

 extern "platform-intrinsic" {
	    //pub fn simd_select_bitmask
    pub fn simd_eq<T, U>(x: T, y: T) -> U;
    pub fn simd_ne<T, U>(x: T, y: T) -> U;
    pub fn simd_lt<T, U>(x: T, y: T) -> U;
    pub fn simd_le<T, U>(x: T, y: T) -> U;
    pub fn simd_gt<T, U>(x: T, y: T) -> U;
    pub fn simd_ge<T, U>(x: T, y: T) -> U;
}

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading issue 4791, then trace how gccrs handles extern ABI declarations and the listed platform-intrinsic functions. The work is done when the shown simd_eq, simd_ne, simd_lt, simd_le, simd_gt, and simd_ge declarations compile successfully.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp, rust
Domain
compilers
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.