diff --git a/config/opal_config_asm.m4 b/config/opal_config_asm.m4 index 4ae982a3fd..eab640f9c4 100644 --- a/config/opal_config_asm.m4 +++ b/config/opal_config_asm.m4 @@ -811,7 +811,6 @@ AC_DEFUN([OPAL_CONFIG_ASM],[ ompi_cv_asm_arch="ARM" OPAL_ASM_SUPPORT_64BIT=1 OPAL_ASM_ARM_VERSION=7 - cp -f "$top_ompi_builddir/opal/asm/base/ARMV7.asm" "$top_ompi_builddir/opal/asm/base/ARM.asm" AC_DEFINE_UNQUOTED([OPAL_ASM_ARM_VERSION], [$OPAL_ASM_ARM_VERSION], [What ARM assembly version to use]) OMPI_GCC_INLINE_ASSIGN='"mov %0, #0" : "=&r"(ret)' @@ -821,7 +820,6 @@ AC_DEFUN([OPAL_CONFIG_ASM],[ ompi_cv_asm_arch="ARM" OPAL_ASM_SUPPORT_64BIT=0 OPAL_ASM_ARM_VERSION=6 - cp -f "$top_ompi_builddir/opal/asm/base/ARMV6.asm" "$top_ompi_builddir/opal/asm/base/ARM.asm" AC_DEFINE_UNQUOTED([OPAL_ASM_ARM_VERSION], [$OPAL_ASM_ARM_VERSION], [What ARM assembly version to use]) OMPI_GCC_INLINE_ASSIGN='"mov %0, #0" : "=&r"(ret)' @@ -832,7 +830,6 @@ AC_DEFUN([OPAL_CONFIG_ASM],[ ompi_cv_asm_arch="ARM" OPAL_ASM_SUPPORT_64BIT=0 OPAL_ASM_ARM_VERSION=5 - cp -f "$top_ompi_builddir/opal/asm/base/ARMV5.asm" "$top_ompi_builddir/opal/asm/base/ARM.asm" AC_DEFINE_UNQUOTED([OPAL_ASM_ARM_VERSION], [$OPAL_ASM_ARM_VERSION], [What ARM assembly version to use]) OMPI_GCC_INLINE_ASSIGN='"mov %0, #0" : "=&r"(ret)' diff --git a/opal/asm/Makefile.am b/opal/asm/Makefile.am index b0c705d146..96fa02d3ad 100644 --- a/opal/asm/Makefile.am +++ b/opal/asm/Makefile.am @@ -65,9 +65,7 @@ EXTRA_DIST = \ base/default.conf \ base/ALPHA.asm \ base/AMD64.asm \ - base/ARMV5.asm \ - base/ARMV6.asm \ - base/ARMV7.asm \ + base/ARM.asm \ base/IA32.asm \ base/IA64.asm \ base/MIPS.asm \ diff --git a/opal/asm/base/ARMV7.asm b/opal/asm/base/ARM.asm similarity index 100% rename from opal/asm/base/ARMV7.asm rename to opal/asm/base/ARM.asm diff --git a/opal/asm/base/ARMV5.asm b/opal/asm/base/ARMV5.asm deleted file mode 100644 index a89335df30..0000000000 --- a/opal/asm/base/ARMV5.asm +++ /dev/null @@ -1,109 +0,0 @@ -START_FILE - TEXT - - ALIGN(4) -START_FUNC(opal_atomic_mb) - mcr p15, 0, r0, c7, c10, 5 - bx lr -END_FUNC(opal_atomic_mb) - - -START_FUNC(opal_atomic_rmb) - mcr p15, 0, r0, c7, c10, 5 - bx lr -END_FUNC(opal_atomic_rmb) - - -START_FUNC(opal_atomic_wmb) - mcr p15, 0, r0, c7, c10, 5 - bx lr -END_FUNC(opal_atomic_wmb) - - -START_FUNC(opal_atomic_cmpset_32) - push {r4, lr} - mov r3, r0 - mov r0, r1 - mov r1, r2 - mov r2, r3 - ldr r3, REFLSYM(1) - blx r3 - movcc r0, #0 - movcs r0, #1 - pop {r4, lr} - bx lr - .align 2 - LSYM(1) - .word 0xffff0fc0 -END_FUNC(opal_atomic_cmpset_32) - - -START_FUNC(opal_atomic_cmpset_acq_32) - push {r4, lr} - mov r3, r0 - mov r0, r1 - mov r1, r2 - mov r2, r3 - ldr r3, REFLSYM(2) - blx r3 - movcc r0, #0 - movcs r0, #1 - pop {r4, lr} - bx lr - .align 2 - LSYM(2) - .word 0xffff0fc0 -END_FUNC(opal_atomic_cmpset_acq_32) - - -START_FUNC(opal_atomic_cmpset_rel_32) - push {r4, lr} - mov r3, r0 - mov r0, r1 - mov r1, r2 - mov r2, r3 - ldr r3, REFLSYM(3) - blx r3 - movcc r0, #0 - movcs r0, #1 - pop {r4, lr} - bx lr - .align 2 - LSYM(3) - .word 0xffff0fc0 -END_FUNC(opal_atomic_cmpset_rel_32) - -START_FUNC(opal_atomic_add_32) - push {r4, lr} - mov r4, r1 - mov r2, r0 - LSYM(4) - ldr r0, [r2] - ldr r3, REFLSYM(5) - add r1, r0, r4 - blx r3 - bcc REFLSYM(4) - pop {r4, lr} - bx lr - .align 2 - LSYM(5) - .word 0xffff0fc0 -END_FUNC(opal_atomic_add_32) - - -START_FUNC(opal_atomic_sub_32) - push {r4, lr} - mov r4, r1 - mov r2, r0 - LSYM(6) - ldr r0, [r2] - ldr r3, REFLSYM(7) - sub r1, r0, r4 - blx r3 - bcc REFLSYM(6) - pop {r4, lr} - bx lr - .align 2 - LSYM(7) - .word 0xffff0fc0 -END_FUNC(opal_atomic_sub_32) diff --git a/opal/asm/base/ARMV6.asm b/opal/asm/base/ARMV6.asm deleted file mode 100644 index 1a603bb991..0000000000 --- a/opal/asm/base/ARMV6.asm +++ /dev/null @@ -1,153 +0,0 @@ -START_FILE - TEXT - - ALIGN(4) -START_FUNC(opal_atomic_mb) - mcr p15, 0, r0, c7, c10, 5 - bx lr -END_FUNC(opal_atomic_mb) - - -START_FUNC(opal_atomic_rmb) - mcr p15, 0, r0, c7, c10, 5 - bx lr -END_FUNC(opal_atomic_rmb) - - -START_FUNC(opal_atomic_wmb) - mcr p15, 0, r0, c7, c10, 5 - bx lr -END_FUNC(opal_atomic_wmb) - - -START_FUNC(opal_atomic_cmpset_32) - LSYM(1) - ldrex r3, [r0] - cmp r1, r3 - bne REFLSYM(2) - strex r12, r2, [r0] - cmp r12, #0 - bne REFLSYM(1) - mov r0, #1 - LSYM(2) - movne r0, #0 - bx lr -END_FUNC(opal_atomic_cmpset_32) - - -START_FUNC(opal_atomic_cmpset_acq_32) - LSYM(3) - ldrex r3, [r0] - cmp r1, r3 - bne REFLSYM(4) - strex r12, r2, [r0] - cmp r12, #0 - bne REFLSYM(3) - dmb - mov r0, #1 - LSYM(4) - movne r0, #0 - bx lr -END_FUNC(opal_atomic_cmpset_acq_32) - - -START_FUNC(opal_atomic_cmpset_rel_32) - LSYM(5) - ldrex r3, [r0] - cmp r1, r3 - bne REFLSYM(6) - dmb - strex r12, r2, [r0] - cmp r12, #0 - bne REFLSYM(4) - mov r0, #1 - LSYM(6) - movne r0, #0 - bx lr -END_FUNC(opal_atomic_cmpset_rel_32) - -#START_64BIT -START_FUNC(opal_atomic_cmpset_64) - push {r4-r7} - ldrd r6, r7, [sp, #16] - LSYM(7) - ldrexd r4, r5, [r0] - cmp r4, r2 - it eq - cmpeq r5, r3 - bne REFLSYM(8) - strexd r1, r6, r7, [r0] - cmp r1, #0 - bne REFLSYM(7) - mov r0, #1 - LSYM(8) - movne r0, #0 - pop {r4-r7} - bx lr -END_FUNC(opal_atomic_cmpset_64) - -START_FUNC(opal_atomic_cmpset_acq_64) - push {r4-r7} - ldrd r6, r7, [sp, #16] - LSYM(9) - ldrexd r4, r5, [r0] - cmp r4, r2 - it eq - cmpeq r5, r3 - bne REFLSYM(10) - strexd r1, r6, r7, [r0] - cmp r1, #0 - bne REFLSYM(9) - dmb - mov r0, #1 - LSYM(10) - movne r0, #0 - pop {r4-r7} - bx lr -END_FUNC(opal_atomic_cmpset_acq_64) - - -START_FUNC(opal_atomic_cmpset_rel_64) - push {r4-r7} - ldrd r6, r7, [sp, #16] - LSYM(11) - ldrexd r4, r5, [r0] - cmp r4, r2 - it eq - cmpeq r5, r3 - bne REFLSYM(12) - dmb - strexd r1, r6, r7, [r0] - cmp r1, #0 - bne REFLSYM(11) - mov r0, #1 - LSYM(12) - movne r0, #0 - pop {r4-r7} - bx lr -END_FUNC(opal_atomic_cmpset_rel_64) -#END_64BIT - - -START_FUNC(opal_atomic_add_32) - LSYM(13) - ldrex r2, [r0] - add r2, r2, r1 - strex r3, r2, [r0] - cmp r3, #0 - bne REFLSYM(13) - mov r0, r2 - bx lr -END_FUNC(opal_atomic_add_32) - - -START_FUNC(opal_atomic_sub_32) - LSYM(14) - ldrex r2, [r0] - sub r2, r2, r1 - strex r3, r2, [r0] - cmp r3, #0 - bne REFLSYM(14) - mov r0, r2 - bx lr -END_FUNC(opal_atomic_sub_32)