1 ; Test serialization instructions. 2 ; 3 ; RUN: llc < %s -mtriple=s390x-linux-gnu -mcpu=z10 | \ 4 ; RUN: FileCheck %s -check-prefix=CHECK-FULL 5 ; RUN: llc < %s -mtriple=s390x-linux-gnu -mcpu=z196 | \ 6 ; RUN: FileCheck %s -check-prefix=CHECK-FAST 7 8 ; Check that volatile loads produce a serialisation. 9 define i32 @f1(i32 *%src) { 10 ; CHECK-FULL-LABEL: f1: 11 ; CHECK-FULL: bcr 15, %r0 12 ; CHECK-FULL: l %r2, 0(%r2) 13 ; CHECK-FULL: br %r14 14 ; 15 ; CHECK-FAST-LABEL: f1: 16 ; CHECK-FAST: bcr 14, %r0 17 ; CHECK-FAST: l %r2, 0(%r2) 18 ; CHECK-FAST: br %r14 19 %val = load volatile i32 *%src 20 ret i32 %val 21 } 22