mirror of
https://github.com/RPCSX/llvm.git
synced 2024-12-14 23:48:49 +00:00
Create an option to turn off generation of fcmp instructions while still
allowing integer setxx instructions to be converted to icmp. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32302 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
d422db8547
commit
7fed45ea18
@ -24,6 +24,7 @@
|
||||
#define YYINCLUDED_STDLIB_H
|
||||
#define YYDEBUG 1
|
||||
#define UPGRADE_SETCOND_OPS 0
|
||||
#define GENERATE_FCMP_INSTS 0
|
||||
|
||||
int yylex(); // declaration" of xxx warnings.
|
||||
int yyparse();
|
||||
@ -247,8 +248,16 @@ getCompareOp(const std::string& setcc, const TypeInfo& TI) {
|
||||
result[6] = cc1;
|
||||
result[7] = cc2;
|
||||
if (TI.isFloatingPoint()) {
|
||||
#if GENERATE_FCMP_INSTS
|
||||
result[0] = 'f';
|
||||
result[5] = 'o'; // FIXME: Always map to ordered comparison ?
|
||||
if (cc1 == 'n')
|
||||
result[5] = 'u'; // NE maps to unordered
|
||||
else
|
||||
result[5] = 'o'; // everything else maps to ordered
|
||||
#else
|
||||
result = setcc;
|
||||
#endif
|
||||
} else if (TI.isIntegral() || TI.isPointer()) {
|
||||
result[0] = 'i';
|
||||
if ((cc1 == 'e' && cc2 == 'q') || (cc1 == 'n' && cc2 == 'e'))
|
||||
|
Loading…
Reference in New Issue
Block a user