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

[General]: FCOMI/FUCOMI preserves C1 for nonempty operands

Abierto Apto para principiantes
#73 2 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
2/5
Tiempo estimado
1-3 horas
Aptitud para principiantes
78/100
Tipo de issue
Error
Claridad
Bien especificado
Estado de actividad
Activo
Stack tecnológico
xml
Área
tooling

Línea de trabajo

Lee data/instruction/FCOMI-FCOMIP-FUCOMI-FUCOMIP.xml alrededor de la línea 109 y compara el comportamiento de la familia FCOMI con la entrada citada de SDM Flags Affected. Comprueba las rutas ordinaria y de pila vacía, incluidas las formas que hacen pop; se considera terminado cuando ambas rutas borran C1 como se especifica.

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

Descripción

Executable specification issue

Problem

The PDF specifies C1=0 for the FCOMI family. The executable operation clears C1 only in its empty-stack branch; ordinary finite comparisons leave the incoming C1 unchanged.

Concrete case

Set C1=1, use two nonempty stack entries each holding 1, mask exceptions and execute FCOMI ST(0),ST(1). The source updates the comparison flags but retains C1=1. The PDF's FPU Flags Affected entry implies C1=0. The same shared operation is used by FUCOMI and the popping forms.

Expected behavior and references

References use Intel SDM 325462-093, checked on 2026-10-01. PDF page numbers below refer to the combined manual.

Source

Source checked at Intel SDM repository commit b5218b0f1cf512304d4b3cb364433a08fcee47cb.

Suggested correction

Follow the SDM's C1 rule by moving the C1=0 assignment before the empty-stack check, so both the empty-stack and ordinary comparison paths clear it.

Evidence

On AMD EPYC-Milan under KVM, finite comparisons with incoming C1=1 leave C1=1.

AI disclosure

Assisted by Codex

Lenguaje dominante
HTML
Estrellas
40
Forks
4
Métricas de merge de PR
Sin PR fusionados en 30 d

Preparar el entorno

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 intel/SDM

Todos los issues de intel/SDM

Issues similares

Más issues de DevTools

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.