brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.4 KiB · 61b8e2f Raw
79 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 42; Test long double atomic loads on z14.3;4; RUN: llc < %s -mtriple=s390x-linux-gnu -mcpu=z14 | FileCheck %s5 6define void @f1(ptr %ret, ptr %src) {7; CHECK-LABEL: f1:8; CHECK:       # %bb.0:9; CHECK-NEXT:    lpq %r0, 0(%r3)10; CHECK-NEXT:    stg %r1, 8(%r2)11; CHECK-NEXT:    stg %r0, 0(%r2)12; CHECK-NEXT:    br %r1413  %val = load atomic fp128, ptr %src seq_cst, align 1614  store fp128 %val, ptr %ret, align 815  ret void16}17 18define void @f1_fpuse(ptr %ret, ptr %src) {19; CHECK-LABEL: f1_fpuse:20; CHECK:       # %bb.0:21; CHECK-NEXT:    lpq %r0, 0(%r3)22; CHECK-NEXT:    vlvgp %v0, %r0, %r123; CHECK-NEXT:    wfaxb %v0, %v0, %v024; CHECK-NEXT:    vst %v0, 0(%r2), 325; CHECK-NEXT:    br %r1426  %val = load atomic fp128, ptr %src seq_cst, align 1627  %use = fadd fp128 %val, %val28  store fp128 %use, ptr %ret, align 829  ret void30}31 32define void @f2(ptr %ret, ptr %src) {33; CHECK-LABEL: f2:34; CHECK:       # %bb.0:35; CHECK-NEXT:    stmg %r13, %r15, 104(%r15)36; CHECK-NEXT:    .cfi_offset %r13, -5637; CHECK-NEXT:    .cfi_offset %r14, -4838; CHECK-NEXT:    .cfi_offset %r15, -4039; CHECK-NEXT:    aghi %r15, -17640; CHECK-NEXT:    .cfi_def_cfa_offset 33641; CHECK-NEXT:    lgr %r13, %r242; CHECK-NEXT:    la %r4, 160(%r15)43; CHECK-NEXT:    lghi %r2, 1644; CHECK-NEXT:    lhi %r5, 545; CHECK-NEXT:    brasl %r14, __atomic_load@PLT46; CHECK-NEXT:    vl %v0, 160(%r15), 347; CHECK-NEXT:    vst %v0, 0(%r13), 348; CHECK-NEXT:    lmg %r13, %r15, 280(%r15)49; CHECK-NEXT:    br %r1450  %val = load atomic fp128, ptr %src seq_cst, align 851  store fp128 %val, ptr %ret, align 852  ret void53}54 55define void @f2_fpuse(ptr %ret, ptr %src) {56; CHECK-LABEL: f2_fpuse:57; CHECK:       # %bb.0:58; CHECK-NEXT:    stmg %r13, %r15, 104(%r15)59; CHECK-NEXT:    .cfi_offset %r13, -5660; CHECK-NEXT:    .cfi_offset %r14, -4861; CHECK-NEXT:    .cfi_offset %r15, -4062; CHECK-NEXT:    aghi %r15, -17663; CHECK-NEXT:    .cfi_def_cfa_offset 33664; CHECK-NEXT:    lgr %r13, %r265; CHECK-NEXT:    la %r4, 160(%r15)66; CHECK-NEXT:    lghi %r2, 1667; CHECK-NEXT:    lhi %r5, 568; CHECK-NEXT:    brasl %r14, __atomic_load@PLT69; CHECK-NEXT:    vl %v0, 160(%r15), 370; CHECK-NEXT:    wfaxb %v0, %v0, %v071; CHECK-NEXT:    vst %v0, 0(%r13), 372; CHECK-NEXT:    lmg %r13, %r15, 280(%r15)73; CHECK-NEXT:    br %r1474  %val = load atomic fp128, ptr %src seq_cst, align 875  %use = fadd fp128 %val, %val76  store fp128 %use, ptr %ret, align 877  ret void78}79