================ @@ -944,61 +1045,50 @@ RValue CIRGenFunction::emitBuiltinExpr(const GlobalDecl &gd, unsigned builtinID, case Builtin::BI__sync_fetch_and_max: case Builtin::BI__sync_fetch_and_umin: case Builtin::BI__sync_fetch_and_umax: + cgm.errorNYI(e->getSourceRange(), "__sync_fetch_and_* builtins NYI"); + return getUndefRValue(e->getType()); case Builtin::BI__sync_add_and_fetch_1: case Builtin::BI__sync_add_and_fetch_2: case Builtin::BI__sync_add_and_fetch_4: case Builtin::BI__sync_add_and_fetch_8: case Builtin::BI__sync_add_and_fetch_16: + return emitBinaryAtomicPost(*this, cir::AtomicFetchKind::Add, e, + cir::BinOpKind::Add); case Builtin::BI__sync_sub_and_fetch_1: case Builtin::BI__sync_sub_and_fetch_2: case Builtin::BI__sync_sub_and_fetch_4: case Builtin::BI__sync_sub_and_fetch_8: case Builtin::BI__sync_sub_and_fetch_16: + return emitBinaryAtomicPost(*this, cir::AtomicFetchKind::Sub, e, + cir::BinOpKind::Sub); case Builtin::BI__sync_and_and_fetch_1: case Builtin::BI__sync_and_and_fetch_2: case Builtin::BI__sync_and_and_fetch_4: case Builtin::BI__sync_and_and_fetch_8: case Builtin::BI__sync_and_and_fetch_16: + return emitBinaryAtomicPost(*this, cir::AtomicFetchKind::And, e, + cir::BinOpKind::And); case Builtin::BI__sync_or_and_fetch_1: case Builtin::BI__sync_or_and_fetch_2: case Builtin::BI__sync_or_and_fetch_4: case Builtin::BI__sync_or_and_fetch_8: case Builtin::BI__sync_or_and_fetch_16: + return emitBinaryAtomicPost(*this, cir::AtomicFetchKind::Or, e, + cir::BinOpKind::Or); case Builtin::BI__sync_xor_and_fetch_1: case Builtin::BI__sync_xor_and_fetch_2: case Builtin::BI__sync_xor_and_fetch_4: case Builtin::BI__sync_xor_and_fetch_8: case Builtin::BI__sync_xor_and_fetch_16: + return emitBinaryAtomicPost(*this, cir::AtomicFetchKind::Xor, e, + cir::BinOpKind::Xor); case Builtin::BI__sync_nand_and_fetch_1: case Builtin::BI__sync_nand_and_fetch_2: case Builtin::BI__sync_nand_and_fetch_4: case Builtin::BI__sync_nand_and_fetch_8: case Builtin::BI__sync_nand_and_fetch_16: - case Builtin::BI__sync_val_compare_and_swap_1: ---------------- andykaylor wrote:
Why are you deleting these? https://github.com/llvm/llvm-project/pull/168347 _______________________________________________ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
