Skip to content

Commit 31fb0ae

Browse files
committed
[PowerPC] Regenerate and_sext.ll with test checks
I've kept the grep checks for extsh/extsb instructions, but we can now see the actual codegen as well
1 parent c1bd688 commit 31fb0ae

File tree

1 file changed

+30
-15
lines changed

1 file changed

+30
-15
lines changed

llvm/test/CodeGen/PowerPC/and_sext.ll

Lines changed: 30 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,43 @@
1+
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 4
12
; These tests should not contain a sign extend.
3+
; RUN: llc -verify-machineinstrs < %s -mtriple=ppc32-- | FileCheck %s
24
; RUN: llc -verify-machineinstrs < %s -mtriple=ppc32-- | not grep extsh
35
; RUN: llc -verify-machineinstrs < %s -mtriple=ppc32-- | not grep extsb
46

57
define i32 @test1(i32 %mode.0.i.0) {
6-
%tmp.79 = trunc i32 %mode.0.i.0 to i16
7-
%tmp.80 = sext i16 %tmp.79 to i32
8-
%tmp.81 = and i32 %tmp.80, 24
9-
ret i32 %tmp.81
8+
; CHECK-LABEL: test1:
9+
; CHECK: # %bb.0:
10+
; CHECK-NEXT: rlwinm 3, 3, 0, 27, 28
11+
; CHECK-NEXT: blr
12+
%tmp.79 = trunc i32 %mode.0.i.0 to i16
13+
%tmp.80 = sext i16 %tmp.79 to i32
14+
%tmp.81 = and i32 %tmp.80, 24
15+
ret i32 %tmp.81
1016
}
1117

1218
define signext i16 @test2(i16 signext %X, i16 signext %x) {
13-
%tmp = sext i16 %X to i32
14-
%tmp1 = sext i16 %x to i32
15-
%tmp2 = add i32 %tmp, %tmp1
16-
%tmp4 = ashr i32 %tmp2, 1
17-
%tmp5 = trunc i32 %tmp4 to i16
18-
%tmp45 = sext i16 %tmp5 to i32
19-
%retval = trunc i32 %tmp45 to i16
20-
ret i16 %retval
19+
; CHECK-LABEL: test2:
20+
; CHECK: # %bb.0:
21+
; CHECK-NEXT: add 3, 3, 4
22+
; CHECK-NEXT: srawi 3, 3, 1
23+
; CHECK-NEXT: blr
24+
%tmp = sext i16 %X to i32
25+
%tmp1 = sext i16 %x to i32
26+
%tmp2 = add i32 %tmp, %tmp1
27+
%tmp4 = ashr i32 %tmp2, 1
28+
%tmp5 = trunc i32 %tmp4 to i16
29+
%tmp45 = sext i16 %tmp5 to i32
30+
%retval = trunc i32 %tmp45 to i16
31+
ret i16 %retval
2132
}
2233

2334
define signext i16 @test3(i32 zeroext %X) {
24-
%tmp1 = lshr i32 %X, 16
25-
%tmp2 = trunc i32 %tmp1 to i16
26-
ret i16 %tmp2
35+
; CHECK-LABEL: test3:
36+
; CHECK: # %bb.0:
37+
; CHECK-NEXT: srawi 3, 3, 16
38+
; CHECK-NEXT: blr
39+
%tmp1 = lshr i32 %X, 16
40+
%tmp2 = trunc i32 %tmp1 to i16
41+
ret i16 %tmp2
2742
}
2843

0 commit comments

Comments
 (0)