[mips] Define patterns for the atomic_{load,store}_{8,16,32,64} nodes.
[oota-llvm.git] / test / CodeGen / Mips / llvm-ir / atomicrmx.ll
1 ; RUN: llc -asm-show-inst  -march=mipsel -mcpu=mips32r6 < %s | \
2 ; RUN:    FileCheck %s -check-prefix=CHK32
3 ; RUN: llc -asm-show-inst  -march=mips64el -mcpu=mips64r6 < %s | \
4 ; RUN:    FileCheck %s -check-prefix=CHK64
5
6 @a = common global i32 0, align 4
7 @b = common global i64 0, align 8
8
9
10 define i32 @ll_sc(i32 signext %x) {
11 ; CHK32-LABEL: ll_sc
12
13 ;CHK32:  LL_R6
14 ;CHK32:  SC_R6
15   %1 = atomicrmw add i32* @a, i32 %x monotonic
16   ret i32 %1
17 }
18
19 define i64 @lld_scd(i64 signext %x) {
20 ; CHK64-LABEL: lld_scd
21
22 ;CHK64:  LLD_R6
23 ;CHK64:  SCD_R6
24   %1 = atomicrmw add i64* @b, i64 %x monotonic
25   ret i64 %1
26 }