Author: dpatel Date: Thu Aug 2 12:28:53 2007 New Revision: 40742 URL: http://llvm.org/viewvc/llvm-project?rev=40742&view=rev Log: Expand builtin_parity.
Modified: llvm-gcc-4.2/trunk/gcc/llvm-convert.cpp Modified: llvm-gcc-4.2/trunk/gcc/llvm-convert.cpp URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/llvm-convert.cpp?rev=40742&r1=40741&r2=40742&view=diff ============================================================================== --- llvm-gcc-4.2/trunk/gcc/llvm-convert.cpp (original) +++ llvm-gcc-4.2/trunk/gcc/llvm-convert.cpp Thu Aug 2 12:28:53 2007 @@ -4303,6 +4303,14 @@ EmitBuiltinUnaryIntOp(Amt, Result, Intrinsic::cttz); return true; } + case BUILT_IN_PARITY: { + Value *Amt = Emit(TREE_VALUE(TREE_OPERAND(exp, 1)), 0); + EmitBuiltinUnaryIntOp(Amt, Result, Intrinsic::ctpop); + Result = Builder.CreateBinOp(Instruction::And, Result, + TreeConstantToLLVM::ConvertINTEGER_CST(integer_one_node), + "tmp"); + return true; + } case BUILT_IN_POPCOUNT: // These GCC builtins always return int. case BUILT_IN_POPCOUNTL: case BUILT_IN_POPCOUNTLL: { _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits