Home | History | Annotate | Download | only in SystemZ
      1 ; Test 128-bit atomic stores.
      2 ;
      3 ; RUN: llc < %s -mtriple=s390x-linux-gnu | FileCheck %s
      4 
      5 define 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 
     16 define 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