Well, add support for ct* for 21264 only.

21164 is broken until expand works.

llvm-svn: 21692
This commit is contained in:
Andrew Lenharth 2005-05-04 19:12:09 +00:00
parent dd426dd04d
commit aed06a0e92
2 changed files with 11 additions and 5 deletions

View File

@ -31,6 +31,7 @@ using namespace llvm;
namespace llvm {
extern cl::opt<bool> EnableAlphaFTOI;
extern cl::opt<bool> EnableAlphaCT;
}
namespace {
@ -234,7 +235,7 @@ void AlphaAsmPrinter::printConstantPool(MachineConstantPool *MCP) {
bool AlphaAsmPrinter::doInitialization(Module &M)
{
AsmPrinter::doInitialization(M);
if(EnableAlphaFTOI)
if(EnableAlphaFTOI || EnableAlphaCT)
O << "\t.arch ev6\n";
else
O << "\t.arch ev56\n";

View File

@ -36,9 +36,12 @@ namespace llvm {
cl::opt<bool> EnableAlphaIDIV("enable-alpha-intfpdiv",
cl::desc("Use the FP div instruction for integer div when possible"),
cl::Hidden);
cl::opt<bool> EnableAlphaFTOI("enable-alpha-ftoi",
cl::opt<bool> EnableAlphaFTOI("enable-alpha-FTOI",
cl::desc("Enable use of ftoi* and itof* instructions (ev6 and higher)"),
cl::Hidden);
cl::opt<bool> EnableAlphaCT("enable-alpha-CT",
cl::desc("Enable use of the ctpop, ctlz, and cttz instructions"),
cl::Hidden);
cl::opt<bool> EnableAlphaCount("enable-alpha-count",
cl::desc("Print estimates on live ins and outs"),
cl::Hidden);
@ -76,9 +79,11 @@ namespace {
setOperationAction(ISD::SREM , MVT::f32 , Expand);
setOperationAction(ISD::SREM , MVT::f64 , Expand);
// setOperationAction(ISD::CTPOP , MVT::i64 , Expand);
// setOperationAction(ISD::CTTZ , MVT::i64 , Expand);
// setOperationAction(ISD::CTTZ , MVT::i64 , Expand);
if (!EnableAlphaCT) {
setOperationAction(ISD::CTPOP , MVT::i64 , Expand);
setOperationAction(ISD::CTTZ , MVT::i64 , Expand);
setOperationAction(ISD::CTTZ , MVT::i64 , Expand);
}
//If this didn't legalize into a div....
// setOperationAction(ISD::SREM , MVT::i64, Expand);