brintos

brintos / llvm-project-archived public Read only

0
0
Text · 981 B · 240c008 Raw
23 lines · plain
1; RUN: llc -verify-machineinstrs  -mtriple=s390x-linux-gnu < %s -debug -stop-after=machineverifier 2>&1 | FileCheck %s2 3; REQUIRES: asserts4define i128 @func1({ i128, ptr } %struct) {5; Verify that we get a combine on the build_pair, creating a LD8 load somewhere6; between "Initial selection DAG" and "Optimized lowered selection DAG".7; The target is big-endian, and stack grows towards higher addresses,8; so we expect the LD8 to load from the address used in the original HIBITS9; load.10; CHECK-LABEL: Initial selection DAG:11; CHECK:     [[LOBITS:t[0-9]+]]: i64,ch = load<(load (s64))>12; CHECK:     [[HIBITS:t[0-9]+]]: i64,ch = load<(load (s64))>13; CHECK: Combining: t{{[0-9]+}}: i128 = build_pair [[LOBITS]], [[HIBITS]]14; CHECK-NEXT: Creating new node15; CHECK-SAME: load<(load (s128), align 8)>16; CHECK-NEXT: into17; CHECK-SAME: load<(load (s128), align 8)>18; CHECK-LABEL: Optimized lowered selection DAG:19  %result = extractvalue {i128, ptr } %struct, 020  ret i128 %result21}22 23