Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Consider Supporting Clang Language Extensions

Abierto
#299 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
5/5
Tiempo estimado
Más de una semana
Aptitud para principiantes
30/100
Tipo de issue
Nueva funcionalidad
Claridad
Necesita aclaración
Estado de actividad
Tranquilo
Stack tecnológico
cpp, wasm

Línea de trabajo

No se menciona ningún archivo de origen ni ninguna prueba. Empieza ejecutando el comando clang++/wasm-ld proporcionado con las extensiones de Clang citadas y, a continuación, inspecciona la salida con wasm2wat; la tarea estaría terminada cuando hubiera un resultado concreto de viabilidad y un alcance definido para la compatibilidad con DirectXMath.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

enhancement

Given that you can compile your project using DirectXMath with clang++ and wasm-ld on Ubuntu (WSL):

clang++ -std=c++17 --target=wasm32 -nostdlib -Wl,--no-entry -Wl,--export-all -D_XM_NO_INTRINSICS_ -I. -isystem ./external/ -isystem
 ./external/DirectXMath/Inc/ -o demo.wasm demo.cc math.cc

And given that Clang supports these extensions among other extensions:

Supports the GCC, OpenCL, AltiVec, NEON, SVE and RVV vector extensions.

typedef float m4x4_t __attribute__((matrix_type(4, 4)));

m4x4_t f(m4x4_t a, m4x4_t b, m4x4_t c) {
  return a + b * c;
}

I wonder if those extensions work for Clang's wasm32 target and if it is worthwhile to support those very language extensions within DirectXMath.
If all those compiler extensions result in the use of SIMD types and functions inside the WebAssembly binary file (you can use wasm2wat to inspect your binary file), I think it is worthwhile to support those compiler extensions.

Also, consider: https://v8.dev/features/simd

I will build my WebAssembly binary with -D_XM_NO_INTRINSICS_ for now.

Source:

Lenguaje dominante
C++
Estrellas
1.8k
Forks
262
Merge medio
3 d 12 h
PR fusionados (30 d)
5

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de microsoft/DirectXMath

Todos los issues de microsoft/DirectXMath

Issues similares

Más issues de C++

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.