Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

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

Aperta Adatta ai principianti
#73 3 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
2/5
Tempo stimato
1-3 ore
Idoneità per principianti
78/100
Tipo di issue
Bug
Chiarezza
Specificata chiaramente
Stato di attività
Attiva
Stack tecnologico
xml
Ambito
tooling

Direzione di ricerca

Leggi data/instruction/FCOMI-FCOMIP-FUCOMI-FUCOMIP.xml intorno alla riga 109 e confronta il comportamento della famiglia FCOMI con la voce citata di SDM Flags Affected. Controlla i percorsi ordinario e di stack vuoto, incluse le forme con pop; il lavoro è completato quando entrambi i percorsi azzerano C1 come specificato.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

SDM PDF 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

Lingua principale
HTML
Stelle
50
Fork
4
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di intel/SDM

Tutte le issue di intel/SDM

Issue simili

Altre issue su DevTools

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.