[libcxx] adds concept `std::move_constructible`

Implements parts of:
    - P0898R3 Standard Library Concepts
    - P1754 Rename concepts to standard_case for C++20, while we still can

Depends on D77961

Differential Revision: https://reviews.llvm.org/D96230

GitOrigin-RevId: 2b2f36a8b12be43d0d85c67a7f1582390b7cc27b
diff --git a/include/concepts b/include/concepts
index 1a18193..7ab03ff 100644
--- a/include/concepts
+++ b/include/concepts
@@ -184,6 +184,11 @@
 concept default_initializable = constructible_from<_Tp> &&
     requires { _Tp{}; } && __default_initializable<_Tp>;
 
+// [concept.moveconstructible]
+template<class _Tp>
+concept move_constructible =
+  constructible_from<_Tp, _Tp> && convertible_to<_Tp, _Tp>;
+
 #endif //_LIBCPP_STD_VER > 17 && defined(__cpp_concepts) && __cpp_concepts >= 201811L
 
 _LIBCPP_END_NAMESPACE_STD