Forum | Documentation | Website | Blog

Skip to content
  • coderJeff's avatar
    fbc: float comparisons to handle NaN's · 43838858
    coderJeff authored
    Finish the work in progress for handling NaN's
    
    - gas backend: check for NaN's (parity checks) - 386, 486, 586, 686
    - gas+SSE backend: check for NaN's (parity checks) - 386, 486, 586, 686
    - llvm backend: not-tested
    - gcc backend: already completed
    
    - handle IR_EMITOPT_REL_DOINVERSE option in gas/gas+SSE/gas64 backends
    
    The four scenarios passed to backend as part of the float comparison op:
    - result := (a rel-op b)
    - result := !(a rel-op b)
    - if (a op b) then goto {falselabel}
    - if !(a op b) then goto {falselabel}
    
    test-suite: tests for float comparisons
    
    Backends tested:
    - gas: 386, 486, 586, 686, and each with SSE
    - gcc: 386, 486, 586, 686, and each with SSE
    - gas64: x86_64
    - gcc64: x86_64
    - tested all above combinations with '-fpmode fast' (Extra code
      added by the NaN checks is removed with '-fpmode fast')
    43838858
To find the state of this project's repository at the time of any of these versions, check out the tags.
Loading