#ifdef CONFIG_64BIT
        ldil    L%sys_call_table, %r1
-       or,=    %r2,%r2,%r2
-       addil   L%(sys_call_table64-sys_call_table), %r1
+       or,ev   %r2,%r2,%r2
+       ldil    L%sys_call_table64, %r1
        ldo     R%sys_call_table(%r1), %r19
-       or,=    %r2,%r2,%r2
+       or,ev   %r2,%r2,%r2
        ldo     R%sys_call_table64(%r1), %r19
 #else
        load32  sys_call_table, %r19
        extrd,u %r19,63,1,%r2                   /* W hidden in bottom bit */
 
        ldil    L%sys_call_table, %r1
-       or,=    %r2,%r2,%r2
-       addil   L%(sys_call_table64-sys_call_table), %r1
+       or,ev   %r2,%r2,%r2
+       ldil    L%sys_call_table64, %r1
        ldo     R%sys_call_table(%r1), %r19
-       or,=    %r2,%r2,%r2
+       or,ev   %r2,%r2,%r2
        ldo     R%sys_call_table64(%r1), %r19
 #else
        load32  sys_call_table, %r19
 END(sys_call_table)
 
 #ifdef CONFIG_64BIT
+#undef __SYSCALL_WITH_COMPAT
+#define __SYSCALL_WITH_COMPAT(nr, native, compat)      __SYSCALL(nr, native)
        .align 8
 ENTRY(sys_call_table64)
 #include <asm/syscall_table_64.h>    /* 64-bit syscalls */