`_mm_adds_epu8` doesn't generate the right instruction.
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 55/100
- Tipo de issue
- Error
- Claridad
- Bastante claro
- Estado de actividad
- Tranquilo
- Stack tecnológico
- rust
- Área
- performance
Línea de trabajo
Comienza con la implementación de _mm_adds_epu8 y sus pruebas existentes en stdarch; después, reproduce el ejemplo de Godbolt para inspeccionar el ensamblado generado. Sigue el lowering del intrinsic y añade una prueba de regresión que verifique que se emite la instrucción esperada de suma saturada en lugar de la secuencia pmaxub/pcmpeqb.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
https://godbolt.org/z/KTTPcKP58
#[target_feature(enable = "sse2")]
pub fn simd_gte2(x: __m128i) -> i32 {
let bc = _mm_set1_epi8(0x7e);
let y = _mm_adds_epu8(x, bc);
_mm_movemask_epi8(y)
}
.LCPI0_0:
.zero 16,2
example::simd_gte2:
movdqa xmm0, xmmword ptr [rdi]
movdqa xmm1, xmmword ptr [rip + .LCPI0_0]
pmaxub xmm1, xmm0 ; 1
pcmpeqb xmm1, xmm0 ; 2: these two instructions can be simplified to paddusb
pmovmskb eax, xmm1
ret
- Lenguaje dominante
- Rust
- Estrellas
- 694
- Forks
- 336
- Merge medio
- 3 d 3 h
- PR fusionados (30 d)
- 11
Preparar el entorno
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 rust-lang/stdarch
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
rust-lang/stdarch#2218 · 5 comentarios ·
Los mantenedores suelen responder en 1 día
-
A-x86 P-high
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
rust-lang/stdarch#522 · 26 comentarios ·
Los mantenedores suelen responder en 1 día
-
Dificultad 3/5 1-2 días Aptitud para principiantes 64/100
rust-lang/stdarch#2216 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 3/5 1-2 días Aptitud para principiantes 48/100
Los mantenedores suelen responder en 1 día
-
Dificultad 4/5 3-5 días Aptitud para principiantes 52/100
rust-lang/stdarch#2109 · 6 comentarios ·
Los mantenedores suelen responder en 1 día
Todos los issues de rust-lang/stdarch
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
trezor/trezor-firmware#7997 ·
Los mantenedores suelen responder en 2 días
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 88/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
oxidecomputer/management-gateway-service#506 · 1 comentario ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
scylladb/nodejs-rs-driver#566 ·
Los mantenedores suelen responder en 1 día
-
A-ABI needs-triage relnotes relnotes-needs-review relnotes-tracking-issue T-lang T-libs T-opsem
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
Los mantenedores suelen responder en 1 día