From 48e48f25974afbac2d54e77e92e27a23732fc2c8 Mon Sep 17 00:00:00 2001 From: "Bradley T. Hughes" Date: Fri, 10 Feb 2012 11:31:34 +0100 Subject: Remove out-of-line atomic implementation for PowerPC Only support inline assembler with GCC. Support for xlC or other compilers is not provided or tested. The files in src/corelib/arch/vxworks only supported out-of-line PowerPC, so remove it as well. The xlC compiler seems to support GNU-style inline assembly, which we prefer. Anyone wishing to support that compiler again should first test if the inline assembly (the prefered method) works. See http://publib.boulder.ibm.com/infocenter/lnxpcomp/v8v101/topic/com.ibm.xlcpp8l.doc/language/ref/asm.htm#asm Change-Id: I70e56c0b06428bfb6538ca5e101baebd870f92f5 Reviewed-by: Thiago Macieira --- src/corelib/arch/vxworks/qatomic_ppc.s | 415 --------------------------------- 1 file changed, 415 deletions(-) delete mode 100644 src/corelib/arch/vxworks/qatomic_ppc.s (limited to 'src/corelib/arch/vxworks/qatomic_ppc.s') diff --git a/src/corelib/arch/vxworks/qatomic_ppc.s b/src/corelib/arch/vxworks/qatomic_ppc.s deleted file mode 100644 index 03971e89e8..0000000000 --- a/src/corelib/arch/vxworks/qatomic_ppc.s +++ /dev/null @@ -1,415 +0,0 @@ - - .align 2 - .globl q_atomic_test_and_set_int - .globl .q_atomic_test_and_set_int -q_atomic_test_and_set_int: -.q_atomic_test_and_set_int: - lwarx 6,0,3 - xor. 6,6,4 - bne $+12 - stwcx. 5,0,3 - bne- $-16 - subfic 3,6,0 - adde 3,3,6 - blr -LT..q_atomic_test_and_set_int: - .long 0 - .byte 0,9,32,64,0,0,3,0 - .long 0 - .long LT..q_atomic_test_and_set_int-.q_atomic_test_and_set_int - .short 25 - .byte "q_atomic_test_and_set_int" - .align 2 - - .align 2 - .globl q_atomic_test_and_set_acquire_int - .globl .q_atomic_test_and_set_acquire_int -q_atomic_test_and_set_acquire_int: -.q_atomic_test_and_set_acquire_int: - lwarx 6,0,3 - xor. 6,6,4 - bne $+16 - stwcx. 5,0,3 - bne- $-16 - isync - subfic 3,6,0 - adde 3,3,6 - blr -LT..q_atomic_test_and_set_acquire_int: - .long 0 - .byte 0,9,32,64,0,0,3,0 - .long 0 - .long LT..q_atomic_test_and_set_acquire_int-.q_atomic_test_and_set_acquire_int - .short 33 - .byte "q_atomic_test_and_set_acquire_int" - .align 2 - - .align 2 - .globl q_atomic_test_and_set_release_int - .globl .q_atomic_test_and_set_release_int -q_atomic_test_and_set_release_int: -.q_atomic_test_and_set_release_int: - lwarx 6,0,3 - xor. 6,6,4 - bne $+12 - stwcx. 5,0,3 - bne- $-16 - subfic 3,6,0 - adde 3,3,6 - blr -LT..q_atomic_test_and_set_release_int: - .long 0 - .byte 0,9,32,64,0,0,3,0 - .long 0 - .long LT..q_atomic_test_and_set_release_int-.q_atomic_test_and_set_release_int - .short 33 - .byte "q_atomic_test_and_set_release_int" - .align 2 - - .align 2 - .globl q_atomic_test_and_set_ptr - .globl .q_atomic_test_and_set_ptr -q_atomic_test_and_set_ptr: -.q_atomic_test_and_set_ptr: - lwarx 6,0,3 - xor. 6,6,4 - bne $+12 - stwcx. 5,0,3 - bne- $-16 - subfic 3,6,0 - adde 3,3,6 - blr -LT..q_atomic_test_and_set_ptr: - .long 0 - .byte 0,9,32,64,0,0,3,0 - .long 0 - .long LT..q_atomic_test_and_set_ptr-.q_atomic_test_and_set_ptr - .short 25 - .byte "q_atomic_test_and_set_ptr" - .align 2 - - .align 2 - .globl q_atomic_test_and_set_acquire_ptr - .globl .q_atomic_test_and_set_acquire_ptr -q_atomic_test_and_set_acquire_ptr: -.q_atomic_test_and_set_acquire_ptr: - lwarx 6,0,3 - xor. 6,6,4 - bne $+16 - stwcx. 5,0,3 - bne- $-16 - isync - subfic 3,6,0 - adde 3,3,6 - blr -LT..q_atomic_test_and_set_acquire_ptr: - .long 0 - .byte 0,9,32,64,0,0,3,0 - .long 0 - .long LT..q_atomic_test_and_set_acquire_ptr-.q_atomic_test_and_set_acquire_ptr - .short 25 - .byte "q_atomic_test_and_set_acquire_ptr" - .align 2 - - .align 2 - .globl q_atomic_test_and_set_release_ptr - .globl .q_atomic_test_and_set_release_ptr -q_atomic_test_and_set_release_ptr: -.q_atomic_test_and_set_release_ptr: - lwarx 6,0,3 - xor. 6,6,4 - bne $+12 - stwcx. 5,0,3 - bne- $-16 - subfic 3,6,0 - adde 3,3,6 - blr -LT..q_atomic_test_and_set_release_ptr: - .long 0 - .byte 0,9,32,64,0,0,3,0 - .long 0 - .long LT..q_atomic_test_and_set_release_ptr-.q_atomic_test_and_set_release_ptr - .short 33 - .byte "q_atomic_test_and_set_release_ptr" - .align 2 - - .align 2 - .globl q_atomic_increment - .globl .q_atomic_increment -q_atomic_increment: -.q_atomic_increment: - lwarx 4,0,3 - addi 4,4,1 - stwcx. 4,0,3 - bne- $-12 - mr 3,4 - blr -LT..q_atomic_increment: - .long 0 - .byte 0,9,32,64,0,0,1,0 - .long 0 - .long LT..q_atomic_increment-.q_atomic_increment - .short 18 - .byte "q_atomic_increment" - .align 2 - - .align 2 - .globl q_atomic_decrement - .globl .q_atomic_decrement -q_atomic_decrement: -.q_atomic_decrement: - lwarx 4,0,3 - subi 4,4,1 - stwcx. 4,0,3 - bne- $-12 - mr 3,4 - blr -LT..q_atomic_decrement: - .long 0 - .byte 0,9,32,64,0,0,1,0 - .long 0 - .long LT..q_atomic_decrement-.q_atomic_decrement - .short 18 - .byte "q_atomic_decrement" - .align 2 - - .align 2 - .globl q_atomic_set_int - .globl .q_atomic_set_int -q_atomic_set_int: -.q_atomic_set_int: - lwarx 5,0,3 - stwcx. 4,0,3 - bne- $-8 - mr 3,5 - blr -LT..q_atomic_set_int: - .long 0 - .byte 0,9,32,64,0,0,2,0 - .long 0 - .long LT..q_atomic_set_int-.q_atomic_set_int - .short 16 - .byte "q_atomic_set_int" - .align 2 - - .align 2 - .globl q_atomic_fetch_and_store_acquire_int - .globl .q_atomic_fetch_and_store_acquire_int -q_atomic_fetch_and_store_acquire_int: -.q_atomic_fetch_and_store_acquire_int: - lwarx 5,0,3 - stwcx. 4,0,3 - bne- $-8 - isync - mr 3,5 - blr -LT..q_atomic_fetch_and_store_acquire_int: - .long 0 - .byte 0,9,32,64,0,0,2,0 - .long 0 - .long LT..q_atomic_fetch_and_store_acquire_int-.q_atomic_fetch_and_store_acquire_int - .short 16 - .byte "q_atomic_fetch_and_store_acquire_int" - .align 2 - - .align 2 - .globl q_atomic_fetch_and_store_release_int - .globl .q_atomic_fetch_and_store_release_int -q_atomic_fetch_and_store_release_int: -.q_atomic_fetch_and_store_release_int: - lwarx 5,0,3 - stwcx. 4,0,3 - bne- $-8 - mr 3,5 - blr -LT..q_atomic_fetch_and_store_release_int: - .long 0 - .byte 0,9,32,64,0,0,2,0 - .long 0 - .long LT..q_atomic_fetch_and_store_release_int-.q_atomic_fetch_and_store_release_int - .short 16 - .byte "q_atomic_fetch_and_store_release_int" - .align 2 - - .align 2 - .globl q_atomic_set_ptr - .globl .q_atomic_set_ptr -q_atomic_set_ptr: -.q_atomic_set_ptr: - lwarx 5,0,3 - stwcx. 4,0,3 - bne- $-8 - mr 3,5 - blr -LT..q_atomic_set_ptr: - .long 0 - .byte 0,9,32,64,0,0,2,0 - .long 0 - .long LT..q_atomic_set_ptr-.q_atomic_set_ptr - .short 16 - .byte "q_atomic_set_ptr" - .align 2 - - .align 2 - .globl q_atomic_fetch_and_store_acquire_ptr - .globl .q_atomic_fetch_and_store_acquire_ptr -q_atomic_fetch_and_store_acquire_ptr: -.q_atomic_fetch_and_store_acquire_ptr: - lwarx 5,0,3 - stwcx. 4,0,3 - bne- $-8 - isync - mr 3,5 - blr -LT..q_atomic_fetch_and_store_acquire_ptr: - .long 0 - .byte 0,9,32,64,0,0,2,0 - .long 0 - .long LT..q_atomic_fetch_and_store_acquire_ptr-.q_atomic_fetch_and_store_acquire_ptr - .short 16 - .byte "q_atomic_fetch_and_store_acquire_ptr" - .align 2 - - .align 2 - .globl q_atomic_fetch_and_store_release_ptr - .globl .q_atomic_fetch_and_store_release_ptr -q_atomic_fetch_and_store_release_ptr: -.q_atomic_fetch_and_store_release_ptr: - lwarx 5,0,3 - stwcx. 4,0,3 - bne- $-8 - mr 3,5 - blr -LT..q_atomic_fetch_and_store_release_ptr: - .long 0 - .byte 0,9,32,64,0,0,2,0 - .long 0 - .long LT..q_atomic_fetch_and_store_release_ptr-.q_atomic_fetch_and_store_release_ptr - .short 16 - .byte "q_atomic_fetch_and_store_release_ptr" - .align 2 - - .align 2 - .globl q_atomic_fetch_and_add_int - .globl .q_atomic_fetch_and_add_int -q_atomic_fetch_and_add_int: -.q_atomic_fetch_and_add_int: - lwarx 5,0,3 - add 6,4,5 - stwcx. 6,0,3 - bne- $-12 - mr 3,5 - blr -LT..q_atomic_fetch_and_add_int: - .long 0 - .byte 0,9,32,64,0,0,1,0 - .long 0 - .long LT..q_atomic_fetch_and_add_int-.q_atomic_fetch_and_add_int - .short 18 - .byte "q_atomic_fetch_and_add_int" - .align 2 - - .align 2 - .globl q_atomic_fetch_and_add_acquire_int - .globl .q_atomic_fetch_and_add_acquire_int -q_atomic_fetch_and_add_acquire_int: -.q_atomic_fetch_and_add_acquire_int: - lwarx 5,0,3 - add 6,4,5 - stwcx. 6,0,3 - bne- $-12 - isync - mr 3,5 - blr -LT..q_atomic_fetch_and_add_acquire_int: - .long 0 - .byte 0,9,32,64,0,0,1,0 - .long 0 - .long LT..q_atomic_fetch_and_add_acquire_int-.q_atomic_fetch_and_add_acquire_int - .short 18 - .byte "q_atomic_fetch_and_add_acquire_int" - .align 2 - - .align 2 - .globl q_atomic_fetch_and_add_release_int - .globl .q_atomic_fetch_and_add_release_int -q_atomic_fetch_and_add_release_int: -.q_atomic_fetch_and_add_release_int: - lwarx 5,0,3 - add 6,4,5 - stwcx. 6,0,3 - bne- $-12 - mr 3,5 - blr -LT..q_atomic_fetch_and_add_release_int: - .long 0 - .byte 0,9,32,64,0,0,1,0 - .long 0 - .long LT..q_atomic_fetch_and_add_release_int-.q_atomic_fetch_and_add_release_int - .short 34 - .byte "q_atomic_fetch_and_add_release_int" - .align 2 - - .align 2 - .globl q_atomic_fetch_and_add_ptr - .globl .q_atomic_fetch_and_add_ptr -q_atomic_fetch_and_add_ptr: -.q_atomic_fetch_and_add_ptr: - lwarx 5,0,3 - add 6,4,5 - stwcx. 6,0,3 - bne- $-12 - mr 3,5 - blr -LT..q_atomic_fetch_and_add_ptr: - .long 0 - .byte 0,9,32,64,0,0,1,0 - .long 0 - .long LT..q_atomic_fetch_and_add_ptr-.q_atomic_fetch_and_add_ptr - .short 26 - .byte "q_atomic_fetch_and_add_ptr" - .align 2 - - .align 2 - .globl q_atomic_fetch_and_add_acquire_ptr - .globl .q_atomic_fetch_and_add_acquire_ptr -q_atomic_fetch_and_add_acquire_ptr: -.q_atomic_fetch_and_add_acquire_ptr: - lwarx 5,0,3 - add 6,4,5 - stwcx. 6,0,3 - bne- $-12 - isync - mr 3,5 - blr -LT..q_atomic_fetch_and_add_acquire_ptr: - .long 0 - .byte 0,9,32,64,0,0,1,0 - .long 0 - .long LT..q_atomic_fetch_and_add_acquire_ptr-.q_atomic_fetch_and_add_acquire_ptr - .short 34 - .byte "q_atomic_fetch_and_add_acquire_ptr" - .align 2 - - .align 2 - .globl q_atomic_fetch_and_add_release_ptr - .globl .q_atomic_fetch_and_add_release_ptr -q_atomic_fetch_and_add_release_ptr: -.q_atomic_fetch_and_add_release_ptr: - lwarx 5,0,3 - add 6,4,5 - stwcx. 6,0,3 - bne- $-12 - mr 3,5 - blr -LT..q_atomic_fetch_and_add_release_ptr: - .long 0 - .byte 0,9,32,64,0,0,1,0 - .long 0 - .long LT..q_atomic_fetch_and_add_release_ptr-.q_atomic_fetch_and_add_release_ptr - .short 34 - .byte "q_atomic_fetch_and_add_release_ptr" - .align 2 - -_section_.text: - .long _section_.text -- cgit v1.2.3