Revert " [LoongArch][ISel] Check the number of sign bits in `PatGprGpr_32` (#107432)"
[llvm-project.git] / llvm / test / CodeGen / PowerPC / build-vector-to-ld-chain.ll
blobb45e83d71c4d8c5111e48474412f9a956113a748
1 ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2 ; RUN: llc -verify-machineinstrs -mtriple=powerpc64le-- -mcpu=pwr8 < %s | \
3 ; RUN:   FileCheck %s
5 %0 = type <{ %1, ptr, i32, [4 x i8] }>
6 %1 = type { %2 }
7 %2 = type { %3 }
8 %3 = type { ptr, ptr, ptr }
10 $testfunc = comdat any
12 declare void @_ZdlPv() local_unnamed_addr #0
14 define void @testfunc(i64 %arg) local_unnamed_addr #0 comdat {
15 ; CHECK-LABEL: testfunc:
16 ; CHECK:       # %bb.0: # %bb
17 ; CHECK-NEXT:    mflr 0
18 ; CHECK-NEXT:    stdu 1, -80(1)
19 ; CHECK-NEXT:    std 0, 96(1)
20 ; CHECK-NEXT:    .cfi_def_cfa_offset 80
21 ; CHECK-NEXT:    .cfi_offset lr, 16
22 ; CHECK-NEXT:    .cfi_offset v30, -32
23 ; CHECK-NEXT:    .cfi_offset v31, -16
24 ; CHECK-NEXT:    li 4, 48
25 ; CHECK-NEXT:    addi 3, 3, 24
26 ; CHECK-NEXT:    stvx 30, 1, 4 # 16-byte Folded Spill
27 ; CHECK-NEXT:    li 4, 64
28 ; CHECK-NEXT:    stvx 31, 1, 4 # 16-byte Folded Spill
29 ; CHECK-NEXT:    lxvd2x 63, 0, 3
30 ; CHECK-NEXT:    xxswapd 62, 63
31 ; CHECK-NEXT:    bc 12, 20, .LBB0_2
32 ; CHECK-NEXT:  # %bb.1: # %bb37
33 ; CHECK-NEXT:    bl _ZdlPv
34 ; CHECK-NEXT:    nop
35 ; CHECK-NEXT:  .LBB0_2: # %bb38
36 ; CHECK-NEXT:    stxsiwx 62, 0, 3
37 ; CHECK-NEXT:    stxsdx 63, 0, 3
38 ; CHECK-NEXT:    li 3, 64
39 ; CHECK-NEXT:    lvx 31, 1, 3 # 16-byte Folded Reload
40 ; CHECK-NEXT:    li 3, 48
41 ; CHECK-NEXT:    lvx 30, 1, 3 # 16-byte Folded Reload
42 ; CHECK-NEXT:    addi 1, 1, 80
43 ; CHECK-NEXT:    ld 0, 16(1)
44 ; CHECK-NEXT:    mtlr 0
45 ; CHECK-NEXT:    blr
46 bb:
47   %i = inttoptr i64 %arg to ptr
48   %i6 = getelementptr inbounds %0, ptr %i, i64 0, i32 1
49   %i7 = load <12 x i8>, ptr %i6, align 8
50   br i1 poison, label %bb38, label %bb37
52 bb37:                                             ; preds = %bb
53   tail call void @_ZdlPv() #1
54   br label %bb38
56 bb38:                                             ; preds = %bb37, %bb
57   store <12 x i8> %i7, ptr poison, align 8
58   ret void