1; Test 128-bit atomic stores.
2;
3; RUN: llc < %s -mtriple=s390x-linux-gnu | FileCheck %s
4
5define void @f1(i128 %val, i128 *%src) {
6; CHECK-LABEL: f1:
7; CHECK-DAG: lg %r1, 8(%r2)
8; CHECK-DAG: lg %r0, 0(%r2)
9; CHECK: stpq %r0, 0(%r3)
10; CHECK: bcr 1{{[45]}}, %r0
11; CHECK: br %r14
12  store atomic i128 %val, i128 *%src seq_cst, align 16
13  ret void
14}
15
16define void @f2(i128 %val, i128 *%src) {
17; CHECK-LABEL: f2:
18; CHECK-DAG: lg %r1, 8(%r2)
19; CHECK-DAG: lg %r0, 0(%r2)
20; CHECK: stpq %r0, 0(%r3)
21; CHECK-NOT: bcr 1{{[45]}}, %r0
22; CHECK: br %r14
23  store atomic i128 %val, i128 *%src monotonic, align 16
24  ret void
25}
26