Skip to content

Commit

Permalink
Added ADDE/ADDC/SUBE/SUBC, set BR_JT to expand, updated README.
Browse files Browse the repository at this point in the history
  • Loading branch information
jpbonn committed Jun 15, 2011
1 parent 9dca00c commit 2a1ffcf
Show file tree
Hide file tree
Showing 2 changed files with 44 additions and 11 deletions.
11 changes: 9 additions & 2 deletions lib/Target/Mico32/Mico32ISelLowering.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,12 @@ Mico32TargetLowering::Mico32TargetLowering(Mico32TargetMachine &TM)
// setLoadExtAction(ISD::SEXTLOAD, MVT::i8, Expand);
// setLoadExtAction(ISD::SEXTLOAD, MVT::i16, Expand);

// There's no extended adds or subtracts.
setOperationAction(ISD::ADDC, MVT::i32, Expand);
setOperationAction(ISD::ADDE, MVT::i32, Expand);
setOperationAction(ISD::SUBC, MVT::i32, Expand);
setOperationAction(ISD::SUBE, MVT::i32, Expand);

// Check if unsigned div/mod are enabled.
if (!Subtarget->hasDIV()) {
setOperationAction(ISD::UDIV, MVT::i32, Expand);
Expand Down Expand Up @@ -142,8 +148,9 @@ Mico32TargetLowering::Mico32TargetLowering(Mico32TargetMachine &TM)
setOperationAction(ISD::VACOPY, MVT::Other, Expand);


// FIXME: need to handle branches
// setOperationAction(ISD::BR_JT, MVT::Other, Expand);
// Mico32 does not have jump table branches.
setOperationAction(ISD::BR_JT, MVT::Other, Expand);
// Expand BR_CC to BRCOND.
setOperationAction(ISD::BR_CC, MVT::Other, Expand);

// Operations not directly supported by Mico32.
Expand Down
44 changes: 35 additions & 9 deletions lib/Target/Mico32/README
Original file line number Diff line number Diff line change
Expand Up @@ -60,15 +60,41 @@ After the inital "make check" (which does some initial DejaGnu configuration) yo
--------------------


Initial results:

Expected Passes : 439
Expected Failures : 28
Unexpected Passes : 7
Unexpected Failures: 37


Notes
Test Results:

Failing Tests (25):
LLVM :: CodeGen/mico32/2005-11-30-vastart-crash.ll
LLVM :: CodeGen/mico32/2006-04-04-zextload.ll
LLVM :: CodeGen/mico32/2006-10-17-ppc64-alloca.ll
LLVM :: CodeGen/mico32/2006-12-07-LargeAlloca.ll
LLVM :: CodeGen/mico32/2007-03-06-AddR7.ll
LLVM :: CodeGen/mico32/2007-04-03-PEIBug.ll
LLVM :: CodeGen/mico32/2007-05-03-BadPostIndexedLd.ll
LLVM :: CodeGen/mico32/2007-08-15-ReuseBug.ll
LLVM :: CodeGen/mico32/2007-11-16-landingpad-split.ll
LLVM :: CodeGen/mico32/2008-02-05-LiveIntervalsAssert.ll
LLVM :: CodeGen/mico32/2008-04-11-PHIofImpDef.ll
LLVM :: CodeGen/mico32/2008-06-23-LiveVariablesCrash.ll
LLVM :: CodeGen/mico32/2008-08-06-Alloca.ll
LLVM :: CodeGen/mico32/2008-09-12-CoalescerBug.ll
LLVM :: CodeGen/mico32/2008-09-17-CoalescerBug.ll
LLVM :: CodeGen/mico32/Frames-alloca.ll
LLVM :: CodeGen/mico32/alloca.ll
LLVM :: CodeGen/mico32/call_adj.ll
LLVM :: CodeGen/mico32/dyn-stackalloc.ll
LLVM :: CodeGen/mico32/invalid-memcpy.ll
LLVM :: CodeGen/mico32/jmp_table.ll
LLVM :: CodeGen/mico32/stack-frame.ll
LLVM :: CodeGen/mico32/stacksave-restore.ll
LLVM :: CodeGen/mico32/switch-lower-feature-2.ll
LLVM :: CodeGen/mico32/vargs2.ll

Expected Passes : 472
Expected Failures : 25
Unexpected Failures: 25


NOTES

Calling conventions
from GCC lm32.c
Expand Down

0 comments on commit 2a1ffcf

Please sign in to comment.