diff options
author | Bradley T. Hughes <bradley.hughes@nokia.com> | 2012-02-10 11:31:34 +0100 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-02-13 07:07:41 +0100 |
commit | 48e48f25974afbac2d54e77e92e27a23732fc2c8 (patch) | |
tree | 1b698cf122386f3ea738e96a75af727f1c2e9a13 /src/corelib/arch/powerpc/qatomic64.s | |
parent | 9b4db5151f81903bf34621b9db27473051b02e80 (diff) |
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 <thiago.macieira@intel.com>
Diffstat (limited to 'src/corelib/arch/powerpc/qatomic64.s')
-rw-r--r-- | src/corelib/arch/powerpc/qatomic64.s | 533 |
1 files changed, 0 insertions, 533 deletions
diff --git a/src/corelib/arch/powerpc/qatomic64.s b/src/corelib/arch/powerpc/qatomic64.s deleted file mode 100644 index 84977d5a93..0000000000 --- a/src/corelib/arch/powerpc/qatomic64.s +++ /dev/null @@ -1,533 +0,0 @@ -############################################################################ -## -## Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). -## Contact: http://www.qt-project.org/ -## -## This file is part of the QtGui module of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## GNU Lesser General Public License Usage -## This file may be used under the terms of the GNU Lesser General Public -## License version 2.1 as published by the Free Software Foundation and -## appearing in the file LICENSE.LGPL included in the packaging of this -## file. Please review the following information to ensure the GNU Lesser -## General Public License version 2.1 requirements will be met: -## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -## -## In addition, as a special exception, Nokia gives you certain additional -## rights. These rights are described in the Nokia Qt LGPL Exception -## version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU General -## Public License version 3.0 as published by the Free Software Foundation -## and appearing in the file LICENSE.GPL included in the packaging of this -## file. Please review the following information to ensure the GNU General -## Public License version 3.0 requirements will be met: -## http://www.gnu.org/copyleft/gpl.html. -## -## Other Usage -## Alternatively, this file may be used in accordance with the terms and -## conditions contained in a signed written agreement between you and Nokia. -## -## -## -## -## -## -## $QT_END_LICENSE$ -## -############################################################################ - .machine "ppc64" - .toc - .csect .text[PR] - - .align 2 - .globl q_atomic_test_and_set_int - .globl .q_atomic_test_and_set_int - .csect q_atomic_test_and_set_int[DS],3 -q_atomic_test_and_set_int: - .llong .q_atomic_test_and_set_int,TOC[tc0],0 - .csect .text[PR] -.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 - extsw 3,3 - 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 - .csect q_atomic_test_and_set_acquire_int[DS],3 -q_atomic_test_and_set_acquire_int: - .llong .q_atomic_test_and_set_acquire_int,TOC[tc0],0 - .csect .text[PR] -.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 - extsw 3,3 - 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 - .csect q_atomic_test_and_set_release_int[DS],3 -q_atomic_test_and_set_release_int: - .llong .q_atomic_test_and_set_release_int,TOC[tc0],0 - .csect .text[PR] -.q_atomic_test_and_set_release_int: - eieio - lwarx 6,0,3 - xor. 6,6,4 - bne $+12 - stwcx. 5,0,3 - bne- $-16 - subfic 3,6,0 - adde 3,3,6 - extsw 3,3 - 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 - .csect q_atomic_test_and_set_ptr[DS],3 -q_atomic_test_and_set_ptr: - .llong .q_atomic_test_and_set_ptr,TOC[tc0],0 - .csect .text[PR] -.q_atomic_test_and_set_ptr: - ldarx 6,0,3 - xor. 6,6,4 - bne $+12 - stdcx. 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 - .csect q_atomic_test_and_set_acquire_ptr[DS],3 -q_atomic_test_and_set_acquire_ptr: - .llong .q_atomic_test_and_set_acquire_ptr,TOC[tc0],0 - .csect .text[PR] -.q_atomic_test_and_set_acquire_ptr: - ldarx 6,0,3 - xor. 6,6,4 - bne $+16 - stdcx. 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 33 - .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 - .csect q_atomic_test_and_set_release_ptr[DS],3 -q_atomic_test_and_set_release_ptr: - .llong .q_atomic_test_and_set_release_ptr,TOC[tc0],0 - .csect .text[PR] -.q_atomic_test_and_set_release_ptr: - eieio - ldarx 6,0,3 - xor. 6,6,4 - bne $+12 - stdcx. 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 - .csect q_atomic_increment[DS],3 -q_atomic_increment: - .llong .q_atomic_increment,TOC[tc0],0 - .csect .text[PR] -.q_atomic_increment: - lwarx 4,0,3 - addi 5,4,1 - extsw 4,5 - stwcx. 4,0,3 - bne- $-16 - 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 - .csect q_atomic_decrement[DS],3 -q_atomic_decrement: - .llong .q_atomic_decrement,TOC[tc0],0 - .csect .text[PR] -.q_atomic_decrement: - lwarx 4,0,3 - subi 5,4,1 - extsw 4,5 - stwcx. 4,0,3 - bne- $-16 - 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 - .csect q_atomic_set_int[DS],3 -q_atomic_set_int: - .llong .q_atomic_set_int,TOC[tc0],0 - .csect .text[PR] -.q_atomic_set_int: - lwarx 5,0,3 - stwcx. 4,0,3 - bne- $-8 - extsw 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 - .csect q_atomic_fetch_and_store_acquire_int[DS],3 -q_atomic_fetch_and_store_acquire_int: - .llong .q_atomic_fetch_and_store_acquire_int,TOC[tc0],0 - .csect .text[PR] -.q_atomic_fetch_and_store_acquire_int: - lwarx 5,0,3 - stwcx. 4,0,3 - bne- $-8 - isync - extsw 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 36 - .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 - .csect q_atomic_fetch_and_store_release_int[DS],3 -q_atomic_fetch_and_store_release_int: - .llong .q_atomic_fetch_and_store_release_int,TOC[tc0],0 - .csect .text[PR] -.q_atomic_fetch_and_store_release_int: - eieio - lwarx 5,0,3 - stwcx. 4,0,3 - bne- $-8 - extsw 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 36 - .byte "q_atomic_fetch_and_store_release_int" - .align 2 - - .align 2 - .globl q_atomic_set_ptr - .globl .q_atomic_set_ptr - .csect q_atomic_set_ptr[DS],3 -q_atomic_set_ptr: - .llong .q_atomic_set_ptr,TOC[tc0],0 - .csect .text[PR] -.q_atomic_set_ptr: - ldarx 5,0,3 - stdcx. 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 - .csect q_atomic_fetch_and_store_acquire_ptr[DS],3 -q_atomic_fetch_and_store_acquire_ptr: - .llong .q_atomic_fetch_and_store_acquire_ptr,TOC[tc0],0 - .csect .text[PR] -.q_atomic_fetch_and_store_acquire_ptr: - ldarx 5,0,3 - stdcx. 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 36 - .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 - .csect q_atomic_fetch_and_store_release_ptr[DS],3 -q_atomic_fetch_and_store_release_ptr: - .llong .q_atomic_fetch_and_store_release_ptr,TOC[tc0],0 - .csect .text[PR] -.q_atomic_fetch_and_store_release_ptr: - eieio - ldarx 5,0,3 - stdcx. 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 36 - .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 - .csect q_atomic_fetch_and_add_int[DS],3 -q_atomic_fetch_and_add_int: - .llong .q_atomic_fetch_and_add_int,TOC[tc0],0 - .csect .text[PR] -.q_atomic_fetch_and_add_int: - lwarx 5,0,3 - add 6,4,5 - extsw 7,6 - stwcx. 7,0,3 - bne- $-16 - extsw 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 26 - .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 - .csect q_atomic_fetch_and_add_acquire_int[DS],3 -q_atomic_fetch_and_add_acquire_int: - .llong .q_atomic_fetch_and_add_acquire_int,TOC[tc0],0 - .csect .text[PR] -.q_atomic_fetch_and_add_acquire_int: - lwarx 5,0,3 - add 6,4,5 - extsw 7,6 - stwcx. 7,0,3 - bne- $-16 - isync - extsw 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 34 - .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 - .csect q_atomic_fetch_and_add_release_int[DS],3 -q_atomic_fetch_and_add_release_int: - .llong .q_atomic_fetch_and_add_release_int,TOC[tc0],0 - .csect .text[PR] -.q_atomic_fetch_and_add_release_int: - eieio - lwarx 5,0,3 - add 6,4,5 - extsw 7,6 - stwcx. 7,0,3 - bne- $-16 - extsw 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 - .csect q_atomic_fetch_and_add_ptr[DS],3 -q_atomic_fetch_and_add_ptr: - .llong .q_atomic_fetch_and_add_ptr,TOC[tc0],0 - .csect .text[PR] -.q_atomic_fetch_and_add_ptr: - ldarx 5,0,3 - add 6,4,5 - stdcx. 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 - .csect q_atomic_fetch_and_add_acquire_ptr[DS],3 -q_atomic_fetch_and_add_acquire_ptr: - .llong .q_atomic_fetch_and_add_acquire_ptr,TOC[tc0],0 - .csect .text[PR] -.q_atomic_fetch_and_add_acquire_ptr: - ldarx 5,0,3 - add 6,4,5 - stdcx. 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 - .csect q_atomic_fetch_and_add_release_ptr[DS],3 -q_atomic_fetch_and_add_release_ptr: - .llong .q_atomic_fetch_and_add_release_ptr,TOC[tc0],0 - .csect .text[PR] -.q_atomic_fetch_and_add_release_ptr: - eieio - ldarx 5,0,3 - add 6,4,5 - stdcx. 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: - .csect .data[RW],3 - .llong _section_.text |