Consider Supporting Clang Language Extensions
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
- Área
- compilers, computer-graphics
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
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
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de microsoft/DirectXMath
-
Issues with including "sal.h" Abierto
Dificultad 3/5 1-2 días Aptitud para principiantes 58/100
microsoft/DirectXMath#346 ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 68/100
microsoft/DirectXMath#342 ·
-
enhancement
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
microsoft/DirectXMath#328 ·
-
simplemath
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
microsoft/DirectXMath#327 · 1 comentario ·
-
Project feedback Abierto
Dificultad 5/5 Más de una semana Aptitud para principiantes 20/100
microsoft/DirectXMath#326 · 2 comentarios ·
Todos los issues de microsoft/DirectXMath
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
google/libultrahdr#485 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
godotengine/godot#123776 ·
-
bug
Dificultad 1/5 Menos de una hora Aptitud para principiantes 60/100
-
good first issue
Dificultad 1/5 Menos de una hora Aptitud para principiantes 90/100
-
good first issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
ros2/common_interfaces#344 ·