#define ___get_user_instr(gu_op, dest, ptr)                            \
 ({                                                                     \
        long __gui_ret = 0;                                             \
-       unsigned long __gui_ptr = (unsigned long)ptr;                   \
+       u32 __user *__gui_ptr = (u32 __user *)ptr;                      \
        struct ppc_inst __gui_inst;                                     \
        unsigned int __prefix, __suffix;                                \
                                                                        \
        __chk_user_ptr(ptr);                                            \
-       __gui_ret = gu_op(__prefix, (unsigned int __user *)__gui_ptr);  \
+       __gui_ret = gu_op(__prefix, __gui_ptr);                         \
        if (__gui_ret == 0) {                                           \
                if ((__prefix >> 26) == OP_PREFIX) {                    \
-                       __gui_ret = gu_op(__suffix,                     \
-                               (unsigned int __user *)__gui_ptr + 1);  \
+                       __gui_ret = gu_op(__suffix, __gui_ptr + 1);     \
                        __gui_inst = ppc_inst_prefix(__prefix,          \
                                                     __suffix);         \
                } else {                                                \