diff --git a/pyopencl/compyte b/pyopencl/compyte
index fb6ba114d9d906403d47b0aaf69e2fe4cef382f2..ac1c71d46428c14aa1bd1c09d7da19cd0298d5cc 160000
--- a/pyopencl/compyte
+++ b/pyopencl/compyte
@@ -1 +1 @@
-Subproject commit fb6ba114d9d906403d47b0aaf69e2fe4cef382f2
+Subproject commit ac1c71d46428c14aa1bd1c09d7da19cd0298d5cc
diff --git a/pyopencl/tools.py b/pyopencl/tools.py
index 015fd2714ac74b9c86b5e528985d0ad1c14110e6..ac991d6cdee862a371e90e739776c1ba4374c1dd 100644
--- a/pyopencl/tools.py
+++ b/pyopencl/tools.py
@@ -45,21 +45,14 @@ from pyopencl.compyte.dtypes import (  # noqa
 
 
 def _register_types():
-    from pyopencl.compyte.dtypes import _fill_dtype_registry
-    import struct
+    from pyopencl.compyte.dtypes import (
+            TYPE_REGISTRY, fill_registry_with_opencl_c_types)
 
-    _fill_dtype_registry(respect_windows=False, include_bool=False)
+    fill_registry_with_opencl_c_types(TYPE_REGISTRY)
 
     get_or_register_dtype("cfloat_t", np.complex64)
     get_or_register_dtype("cdouble_t", np.complex128)
 
-    is_64_bit = struct.calcsize('@P') * 8 == 64
-    if not is_64_bit:
-        get_or_register_dtype(
-                ["unsigned long", "unsigned long int"], np.uint64)
-        get_or_register_dtype(
-                ["signed long", "signed long int", "long int"], np.int64)
-
 _register_types()