~oif-team/ubuntu/natty/qt4-x11/xi2.1

« back to all changes in this revision

Viewing changes to src/corelib/arch/i386/qatomic.s

  • Committer: Bazaar Package Importer
  • Author(s): Adam Conrad
  • Date: 2005-08-24 04:09:09 UTC
  • Revision ID: james.westby@ubuntu.com-20050824040909-xmxe9jfr4a0w5671
Tags: upstream-4.0.0
ImportĀ upstreamĀ versionĀ 4.0.0

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
        .text
 
2
 
 
3
        .align 4,0x90
 
4
        .globl q_atomic_test_and_set_int
 
5
q_atomic_test_and_set_int:
 
6
        movl             4(%esp),%ecx
 
7
        movl             8(%esp),%eax
 
8
        movl            12(%esp),%edx
 
9
        lock cmpxchgl   %edx,(%ecx)
 
10
        mov             $0,%eax
 
11
        sete            %al
 
12
        ret
 
13
        .align 4,0x90
 
14
        .type q_atomic_test_and_set_int,@function
 
15
        .size q_atomic_test_and_set_int,.-q_atomic_test_and_set_int
 
16
 
 
17
        .align 4,0x90
 
18
        .globl q_atomic_test_and_set_ptr
 
19
q_atomic_test_and_set_ptr:
 
20
        movl             4(%esp),%ecx
 
21
        movl             8(%esp),%eax
 
22
        movl            12(%esp),%edx
 
23
        lock cmpxchgl   %edx,(%ecx)
 
24
        mov             $0,%eax
 
25
        sete            %al
 
26
        ret
 
27
        .align    4,0x90
 
28
        .type   q_atomic_test_and_set_ptr,@function
 
29
        .size   q_atomic_test_and_set_ptr,.-q_atomic_test_and_set_ptr
 
30
 
 
31
        .align 4,0x90
 
32
        .globl q_atomic_increment
 
33
q_atomic_increment:
 
34
        movl 4(%esp), %ecx
 
35
        lock incl (%ecx)
 
36
        mov $0,%eax
 
37
        setne %al
 
38
        ret
 
39
        .align 4,0x90
 
40
        .type q_atomic_increment,@function
 
41
        .size   q_atomic_increment,.-q_atomic_increment
 
42
 
 
43
        .align 4,0x90
 
44
        .globl q_atomic_decrement
 
45
q_atomic_decrement:
 
46
        movl 4(%esp), %ecx
 
47
        lock decl (%ecx)
 
48
        mov $0,%eax
 
49
        setne %al
 
50
        ret
 
51
        .align 4,0x90
 
52
        .type q_atomic_decrement,@function
 
53
        .size   q_atomic_decrement,.-q_atomic_decrement
 
54
 
 
55
        .align 4,0x90
 
56
        .globl q_atomic_set_int
 
57
q_atomic_set_int:
 
58
        mov 4(%esp),%ecx
 
59
        mov 8(%esp),%eax
 
60
        xchgl %eax,(%ecx)
 
61
        ret     
 
62
        .align 4,0x90
 
63
        .type q_atomic_set_int,@function
 
64
        .size   q_atomic_set_int,.-q_atomic_set_int
 
65
 
 
66
        .align 4,0x90
 
67
        .globl q_atomic_set_ptr
 
68
q_atomic_set_ptr:
 
69
        mov 4(%esp),%ecx
 
70
        mov 8(%esp),%eax
 
71
        xchgl %eax,(%ecx)
 
72
        ret     
 
73
        .align 4,0x90
 
74
        .type q_atomic_set_ptr,@function
 
75
        .size   q_atomic_set_ptr,.-q_atomic_set_ptr