1 ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2 ; RUN: llc < %s -mtriple=powerpc64le-unknown-linux-gnu -verify-machineinstrs\
3 ; RUN: -mcpu=pwr9 --ppc-enable-pipeliner | FileCheck %s
5 define void @lame_encode_buffer_interleaved() local_unnamed_addr {
6 ; CHECK-LABEL: lame_encode_buffer_interleaved:
8 ; CHECK-NEXT: lhz 3, 0(0)
10 ; CHECK-NEXT: sldi 5, 5, 62
11 ; CHECK-NEXT: lhz 4, 0(3)
13 ; CHECK-NEXT: .p2align 5
14 ; CHECK-NEXT: .LBB0_1: #
15 ; CHECK-NEXT: extsh 3, 3
16 ; CHECK-NEXT: extsh 4, 4
17 ; CHECK-NEXT: srawi 3, 3, 1
18 ; CHECK-NEXT: addze 3, 3
19 ; CHECK-NEXT: srawi 4, 4, 1
20 ; CHECK-NEXT: addze 4, 4
21 ; CHECK-NEXT: bdnz .LBB0_1
22 ; CHECK-NEXT: # %bb.2:
23 ; CHECK-NEXT: sth 3, 0(0)
24 ; CHECK-NEXT: sth 4, 0(3)
29 %2 = phi i64 [ 0, %0 ], [ %13, %1 ]
30 %3 = load i16, i16* null, align 2
31 %4 = load i16, i16* undef, align 2
32 %5 = sext i16 %3 to i32
33 %6 = sext i16 %4 to i32
34 %7 = add nsw i32 0, %5
35 %8 = add nsw i32 0, %6
38 %11 = trunc i32 %9 to i16
39 %12 = trunc i32 %10 to i16
40 store i16 %11, i16* null, align 2
41 store i16 %12, i16* undef, align 2
43 %14 = icmp eq i64 %13, 0
44 br i1 %14, label %15, label %1