[X86] combineTargetShuffle - commute VPERMV3 shuffles so any load is on the RHS
[llvm-project.git] / llvm / test / CodeGen / SystemZ / tls-09.ll
blob10dd1494aa82d8fb6f98f327c6cf1c7943639a72
1 ; RUN: llc < %s -mcpu=z196 -mtriple=s390x-linux-gnu -O0
3 ; Test that a0 and a1 are copied successfully into GR32 registers.
5 @x = dso_local thread_local global i32 0, align 4
6 define i32 @fun0(i32 signext, i32 signext, i32 signext, i32 signext, i32 signext, i32 signext, i32 signext)  {
7   %8 = alloca i32, align 4
8   %9 = alloca i32, align 4
9   %10 = alloca i32, align 4
10   %11 = alloca i32, align 4
11   %12 = alloca i32, align 4
12   %13 = alloca i32, align 4
13   %14 = alloca i32, align 4
14   %15 = load i32, ptr @x, align 4
15   store i32 %0, ptr %8, align 4
16   store i32 %1, ptr %9, align 4
17   store i32 %2, ptr %10, align 4
18   store i32 %3, ptr %11, align 4
19   store i32 %4, ptr %12, align 4
20   store i32 %5, ptr %13, align 4
21   store i32 %6, ptr %14, align 4
22   %16 = load i32, ptr %8, align 4
23   %17 = add nsw i32 %15, %16
24   %18 = load i32, ptr %9, align 4
25   %19 = add nsw i32 %17, %18
26   %20 = load i32, ptr %10, align 4
27   %21 = add nsw i32 %19, %20
28   %22 = load i32, ptr %11, align 4
29   %23 = add nsw i32 %21, %22
30   %24 = load i32, ptr %12, align 4
31   %25 = add nsw i32 %23, %24
32   %26 = load i32, ptr %13, align 4
33   %27 = add nsw i32 %25, %26
34   %28 = load i32, ptr %14, align 4
35   %29 = add nsw i32 %27, %28
36   ret i32 %29