We started to see a regression from the target indpendent code in llvm starting March 13. I have filed bug http://www.llvm.org/bugs/show_bug.cgi?id=19151 this causes a compilation error: /home/rkotler/workspace/llvm/projects/test-suite/MultiSource/Benchmarks/MiBench/consumer-lame/rtp.c:29:11: warning: implicit truncation from 'int' to bitfield changes value from 2 to -2 [-Wbitfield-constant-conversion] foo->b.v=2; ^~ SplitVectorResult #0: 0x60fa348: v4i32 = bswap 0x60f7620 [ORD=6] [ID=0] fatal error: error in backend: Do not know how to split the result of this operator! ...... /// SplitVectorResult - This method is called when the specified result of the /// specified node is found to need vector splitting. At this point, the node /// may also have invalid operands or may have other results that need /// legalization, we just know that (at least) one result needs vector /// splitting. void DAGTypeLegalizer::SplitVectorResult(SDNode *N, unsigned ResNo) { DEBUG(dbgs() << "Split node result: "; N->dump(&DAG); dbgs() << "\n"); SDValue Lo, Hi; // See if the target wants to custom expand this node. if (CustomLowerNode(N, N->getValueType(ResNo), true)) return; switch (N->getOpcode()) { default: #ifndef NDEBUG dbgs() << "SplitVectorResult #" << ResNo << ": "; N->dump(&DAG); dbgs() << "\n"; #endif report_fatal_error("Do not know how to split the result of this " "operator!\n");