blob: be3d3e7b1efb1a43f847aa9808626ad5f35d50f9 [file] [log] [blame]
Andrew Lenharth3f3cc102006-07-03 22:46:02 +00001;RUN: llvm-as < %s | llc -march=alpha
2
3; ModuleID = 'atomicity.cc'
4target endian = little
5target pointersize = 64
6target triple = "alphaev67-unknown-linux-gnu"
7
8implementation ; Functions:
9
10int %_ZN9__gnu_cxx18__exchange_and_addEPVii(int* %__mem, int %__val) {
11entry:
12 %__tmp = alloca int, align 4 ; <int*> [#uses=1]
13 %tmp3 = call int asm sideeffect "\0A$$Lxadd_0:\0A\09ldl_l $0,$3\0A\09addl $0,$4,$1\0A\09stl_c $1,$2\0A\09beq $1,$$Lxadd_0\0A\09mb", "=&r,==&r,==m,m,r"( int* %__tmp, int* %__mem, int* %__mem, int %__val ) ; <int> [#uses=1]
14 ret int %tmp3
15}
16
17void %_ZN9__gnu_cxx12__atomic_addEPVii(int* %__mem, int %__val) {
18entry:
19 %tmp2 = call int asm sideeffect "\0A$$Ladd_1:\0A\09ldl_l $0,$2\0A\09addl $0,$3,$0\0A\09stl_c $0,$1\0A\09beq $0,$$Ladd_1\0A\09mb", "=&r,==m,m,r"( int* %__mem, int* %__mem, int %__val ) ; <int> [#uses=0]
20 ret void
21}