Dan Gohman | da594cf | 2009-09-09 00:09:15 +0000 | [diff] [blame] | 1 | ; RUN: llc < %s -march=alpha |
Dan Gohman | f17a25c | 2007-07-18 16:29:46 +0000 | [diff] [blame] | 2 | |
Tanya Lattner | f28e0ce | 2008-02-19 01:41:04 +0000 | [diff] [blame] | 3 | target datalayout = "e-p:64:64" |
Dan Gohman | f17a25c | 2007-07-18 16:29:46 +0000 | [diff] [blame] | 4 | target triple = "alphaev67-unknown-linux-gnu" |
| 5 | |
Tanya Lattner | f28e0ce | 2008-02-19 01:41:04 +0000 | [diff] [blame] | 6 | define i32 @_ZN9__gnu_cxx18__exchange_and_addEPVii(i32* %__mem, i32 %__val) { |
Dan Gohman | f17a25c | 2007-07-18 16:29:46 +0000 | [diff] [blame] | 7 | entry: |
Tanya Lattner | f28e0ce | 2008-02-19 01:41:04 +0000 | [diff] [blame] | 8 | %__tmp = alloca i32, align 4 ; <i32*> [#uses=1] |
| 9 | %tmp3 = call i32 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"( i32* %__tmp, i32* %__mem, i32* %__mem, i32 %__val ) ; <i32> [#uses=1] |
| 10 | ret i32 %tmp3 |
Dan Gohman | f17a25c | 2007-07-18 16:29:46 +0000 | [diff] [blame] | 11 | } |
| 12 | |
Tanya Lattner | f28e0ce | 2008-02-19 01:41:04 +0000 | [diff] [blame] | 13 | define void @_ZN9__gnu_cxx12__atomic_addEPVii(i32* %__mem, i32 %__val) { |
Dan Gohman | f17a25c | 2007-07-18 16:29:46 +0000 | [diff] [blame] | 14 | entry: |
Tanya Lattner | f28e0ce | 2008-02-19 01:41:04 +0000 | [diff] [blame] | 15 | %tmp2 = call i32 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"( i32* %__mem, i32* %__mem, i32 %__val ) ; <i32> [#uses=0] |
Dan Gohman | f17a25c | 2007-07-18 16:29:46 +0000 | [diff] [blame] | 16 | ret void |
| 17 | } |
Tanya Lattner | f28e0ce | 2008-02-19 01:41:04 +0000 | [diff] [blame] | 18 | |