Changes in directory llvm/lib/Target/ARM:
ARMISelDAGToDAG.cpp updated: 1.89 -> 1.90 --- Log message: don't use "ordinary" addressing mode 1 when mvn is appropriate --- Diffs of the changes: (+2 -0) ARMISelDAGToDAG.cpp | 2 ++ 1 files changed, 2 insertions(+) Index: llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp diff -u llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp:1.89 llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp:1.90 --- llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp:1.89 Mon Dec 11 19:03:11 2006 +++ llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp Tue Dec 12 08:03:29 2006 @@ -849,6 +849,8 @@ case ISD::Constant: { uint32_t val = cast<ConstantSDNode>(N)->getValue(); if(!isRotInt8Immediate(val)) { + if (isRotInt8Immediate(~val)) + return false; //use MVN Constant *C = ConstantInt::get(Type::UIntTy, val); int alignment = 2; SDOperand Addr = CurDAG->getTargetConstantPool(C, MVT::i32, alignment); _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits