0
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1 ; Test 64-bit atomic stores.
|
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2 ;
|
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
3 ; RUN: llc < %s -mtriple=s390x-linux-gnu | FileCheck %s
|
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
4
|
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
5 define void @f1(i64 %val, i64 *%src) {
|
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
6 ; CHECK-LABEL: f1:
|
33
|
7 ; CHECK: stg %r2, 0(%r3)
|
|
8 ; CHECK: bcr 1{{[45]}}, %r0
|
0
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
9 ; CHECK: br %r14
|
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
10 store atomic i64 %val, i64 *%src seq_cst, align 8
|
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
11 ret void
|
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
12 }
|
121
|
13
|
|
14 define void @f2(i64 %val, i64 *%src) {
|
|
15 ; CHECK-LABEL: f2:
|
|
16 ; CHECK: stg %r2, 0(%r3)
|
|
17 ; CHECK-NOT: bcr 1{{[45]}}, %r0
|
|
18 ; CHECK: br %r14
|
|
19 store atomic i64 %val, i64 *%src monotonic, align 8
|
|
20 ret void
|
|
21 }
|