1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 5 2; Test longjmp load from jmp_buf. 3; Frame pointer from Slot 1. 4; Jump address from Slot 2. 5; Backchain Value from Slot 3. 6; Stack Pointer from Slot 4. 7; Literal Pool Pointer from Slot 5. 8 9; RUN: llc < %s -verify-machineinstrs -mtriple=s390x-linux-gnu | FileCheck %s 10 11@buf = global [20 x ptr] zeroinitializer, align 8 12 13define void @foo() { 14; CHECK-LABEL: foo: 15; CHECK: # %bb.0: # %entry 16; CHECK-NEXT: stmg %r11, %r15, 88(%r15) 17; CHECK-NEXT: .cfi_offset %r11, -72 18; CHECK-NEXT: .cfi_offset %r13, -56 19; CHECK-NEXT: .cfi_offset %r15, -40 20; CHECK-NEXT: lgrl %r1, buf@GOT 21; CHECK-NEXT: lg %r2, 8(%r1) 22; CHECK-NEXT: lg %r11, 0(%r1) 23; CHECK-NEXT: lg %r13, 32(%r1) 24; CHECK-NEXT: lg %r15, 24(%r1) 25; CHECK-NEXT: br %r2 26entry: 27 tail call void @llvm.eh.sjlj.longjmp(ptr nonnull @buf) 28 unreachable 29} 30 31define void @bar() "backchain" { 32; CHECK-LABEL: bar: 33; CHECK: # %bb.0: # %entry 34; CHECK-NEXT: stmg %r11, %r15, 88(%r15) 35; CHECK-NEXT: .cfi_offset %r11, -72 36; CHECK-NEXT: .cfi_offset %r13, -56 37; CHECK-NEXT: .cfi_offset %r15, -40 38; CHECK-NEXT: lgrl %r1, buf@GOT 39; CHECK-NEXT: lg %r2, 8(%r1) 40; CHECK-NEXT: lg %r11, 0(%r1) 41; CHECK-NEXT: lg %r13, 32(%r1) 42; CHECK-NEXT: lg %r3, 16(%r1) 43; CHECK-NEXT: lg %r15, 24(%r1) 44; CHECK-NEXT: stg %r3, 0(%r15) 45; CHECK-NEXT: br %r2 46entry: 47 tail call void @llvm.eh.sjlj.longjmp(ptr nonnull @buf) 48 unreachable 49} 50