- Back out rev 1.6 noticed by Matt Dillon. However, still keep the use
[dragonfly.git] / test / cpuperf / cpu_lcmpexg.S
1 /* $DragonFly: src/test/cpuperf/cpu_lcmpexg.S,v 1.1 2004/02/09 18:08:54 dillon Exp $ */
2
3         .globl  test_dummy
4         .globl  test_load
5         .globl  test_str
6
7         .p2align 5
8 test_dummy:
9         movl    4(%esp),%ecx
10         movl    $0,%edx
11         movl    $1,%eax
12         movl    %ebx,%edx
13         movl    $0,(%ecx)
14         addl    $3,%eax
15         ret
16
17         .p2align 5
18 test_load:
19         movl    4(%esp),%ecx
20         movl    $0,%edx
21         movl    $1,%eax
22         lock; cmpxchgl  %edx,(%ecx)     /* instruction under test */
23         movl    %ebx,%edx
24         movl    $0,(%ecx)
25         addl    $3,%eax
26         ret
27
28         .p2align 5
29 test_str:
30         .asciz  "bus-locked cmpxchgl (successful exchange) in pipeline"
31