LLVM backend for 6502
Go to file
Chris Lattner 01cdb1b367 By far, one of the most common uses of isnan is to make 'isunordered'
comparisons.  In an 'isunordered' predicate, which looks like this at
the LLVM level:

        %a = call bool %llvm.isnan(double %X)
        %b = call bool %llvm.isnan(double %Y)
        %COM = or bool %a, %b

We used to generate this code:

        fxch %ST(1)
        fucomip %ST(0), %ST(0)
        setp %AL
        fucomip %ST(0), %ST(0)
        setp %AH
        or %AL, %AH

With this patch, we generate this code:

        fucomip %ST(0), %ST(1)
        fstp %ST(0)
        setp %AL

Which should make alkis happy.  Tested as X86/compare_folding.llx:test1


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14148 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-11 05:33:49 +00:00
autoconf Added checks for mkstemp and getrusage. 2004-06-07 14:26:24 +00:00
docs Bug fixed, new feature 2004-06-11 04:35:21 +00:00
examples/ModuleMaker Configure script for ModuleMaker. 2003-11-25 20:02:07 +00:00
include Revert an unneeded interface change to Instruction.h 2004-06-11 03:06:43 +00:00
lib By far, one of the most common uses of isnan is to make 'isunordered' 2004-06-11 05:33:49 +00:00
projects Add support for dos-style files 2004-05-27 18:28:32 +00:00
runtime Continue the implementation 2004-05-27 05:51:31 +00:00
test Test that the X86 backend is only emitting one fucom instruction 2004-06-11 05:30:34 +00:00
tools Clean up documentation and naming of variables. 2004-06-10 18:38:44 +00:00
utils Allow dates with slashes in them in $DateRE. 2004-06-10 07:44:28 +00:00
.cvsignore Ok, try #2, this time I'll not be stupid 2003-08-03 18:33:24 +00:00
configure Added checks for mkstemp and getrusage. 2004-06-07 14:26:24 +00:00
CREDITS.TXT Just testing the "Reid has CVS commit access" system 2004-05-06 18:06:18 +00:00
LICENSE.TXT Add spiff 2004-06-01 20:37:41 +00:00
llvm.spec RPM spec file for LLVM tools and libraries. 2004-02-10 03:57:51 +00:00
llvm.spec.in RPM spec file for LLVM tools and libraries. 2004-02-10 03:57:51 +00:00
Makefile Change tags rule to pipe output from find through etags command so that it 2004-06-11 03:10:27 +00:00
Makefile.common Standardize header comments of top-level Makefiles. 2004-04-24 00:10:56 +00:00
Makefile.config.in Added the EXEEXT variable so that Makefiles can figure out what extension 2004-06-01 19:04:38 +00:00
Makefile.rules Explicitly specify libtool tag "CXX" so that if you setenv CXX to something 2004-06-08 18:52:45 +00:00
README.txt This file has been superseded by docs/index.html . 2004-05-12 02:48:30 +00:00

This file is a placeholder; see docs/index.html for documentation.