Skip to content

Commit a815578

Browse files
committed
[AArch64] Regenerate dag-combine-mul-shl.ll checks
1 parent 2fc690a commit a815578

File tree

1 file changed

+55
-44
lines changed

1 file changed

+55
-44
lines changed

llvm/test/CodeGen/AArch64/dag-combine-mul-shl.ll

Lines changed: 55 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -1,114 +1,125 @@
1+
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
12
; RUN: llc -mtriple=aarch64 < %s | FileCheck %s
23

3-
; CHECK-LABEL: fn1_vector:
4-
; CHECK: adrp x[[BASE:[0-9]+]], .LCP
5-
; CHECK-NEXT: ldr q[[NUM:[0-9]+]], [x[[BASE]],
6-
; CHECK-NEXT: mul v0.16b, v0.16b, v[[NUM]].16b
7-
; CHECK-NEXT: ret
84
define <16 x i8> @fn1_vector(<16 x i8> %arg) {
5+
; CHECK-LABEL: fn1_vector:
6+
; CHECK: // %bb.0: // %entry
7+
; CHECK-NEXT: adrp x8, .LCPI0_0
8+
; CHECK-NEXT: ldr q1, [x8, :lo12:.LCPI0_0]
9+
; CHECK-NEXT: mul v0.16b, v0.16b, v1.16b
10+
; CHECK-NEXT: ret
911
entry:
1012
%shl = shl <16 x i8> %arg, <i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7>
1113
%mul = mul <16 x i8> %shl, <i8 0, i8 1, i8 0, i8 0, i8 0, i8 0, i8 0, i8 0, i8 0, i8 0, i8 0, i8 0, i8 0, i8 0, i8 0, i8 0>
1214
ret <16 x i8> %mul
1315
}
1416

15-
; CHECK-LABEL: fn2_vector:
16-
; CHECK: adrp x[[BASE:[0-9]+]], .LCP
17-
; CHECK-NEXT: ldr q[[NUM:[0-9]+]], [x[[BASE]],
18-
; CHECK-NEXT: mul v0.16b, v0.16b, v[[NUM]].16b
19-
; CHECK-NEXT: ret
2017
define <16 x i8> @fn2_vector(<16 x i8> %arg) {
18+
; CHECK-LABEL: fn2_vector:
19+
; CHECK: // %bb.0: // %entry
20+
; CHECK-NEXT: adrp x8, .LCPI1_0
21+
; CHECK-NEXT: ldr q1, [x8, :lo12:.LCPI1_0]
22+
; CHECK-NEXT: mul v0.16b, v0.16b, v1.16b
23+
; CHECK-NEXT: ret
2124
entry:
2225
%mul = mul <16 x i8> %arg, <i8 0, i8 1, i8 0, i8 0, i8 0, i8 0, i8 0, i8 0, i8 0, i8 0, i8 0, i8 0, i8 0, i8 0, i8 0, i8 0>
2326
%shl = shl <16 x i8> %mul, <i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7>
2427
ret <16 x i8> %shl
2528
}
2629

27-
; CHECK-LABEL: fn1_vector_undef:
28-
; CHECK: adrp x[[BASE:[0-9]+]], .LCP
29-
; CHECK-NEXT: ldr q[[NUM:[0-9]+]], [x[[BASE]],
30-
; CHECK-NEXT: mul v0.16b, v0.16b, v[[NUM]].16b
31-
; CHECK-NEXT: ret
3230
define <16 x i8> @fn1_vector_undef(<16 x i8> %arg) {
31+
; CHECK-LABEL: fn1_vector_undef:
32+
; CHECK: // %bb.0: // %entry
33+
; CHECK-NEXT: adrp x8, .LCPI2_0
34+
; CHECK-NEXT: ldr q1, [x8, :lo12:.LCPI2_0]
35+
; CHECK-NEXT: mul v0.16b, v0.16b, v1.16b
36+
; CHECK-NEXT: ret
3337
entry:
3438
%shl = shl <16 x i8> %arg, <i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7>
3539
%mul = mul <16 x i8> %shl, <i8 undef, i8 1, i8 0, i8 0, i8 0, i8 0, i8 0, i8 0, i8 0, i8 0, i8 0, i8 0, i8 0, i8 0, i8 0, i8 0>
3640
ret <16 x i8> %mul
3741
}
3842

39-
; CHECK-LABEL: fn2_vector_undef:
40-
; CHECK: adrp x[[BASE:[0-9]+]], .LCP
41-
; CHECK-NEXT: ldr q[[NUM:[0-9]+]], [x[[BASE]],
42-
; CHECK-NEXT: mul v0.16b, v0.16b, v[[NUM]].16b
43-
; CHECK-NEXT: ret
4443
define <16 x i8> @fn2_vector_undef(<16 x i8> %arg) {
44+
; CHECK-LABEL: fn2_vector_undef:
45+
; CHECK: // %bb.0: // %entry
46+
; CHECK-NEXT: adrp x8, .LCPI3_0
47+
; CHECK-NEXT: ldr q1, [x8, :lo12:.LCPI3_0]
48+
; CHECK-NEXT: mul v0.16b, v0.16b, v1.16b
49+
; CHECK-NEXT: ret
4550
entry:
4651
%mul = mul <16 x i8> %arg, <i8 undef, i8 1, i8 0, i8 0, i8 0, i8 0, i8 0, i8 0, i8 0, i8 0, i8 0, i8 0, i8 0, i8 0, i8 0, i8 0>
4752
%shl = shl <16 x i8> %mul, <i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7>
4853
ret <16 x i8> %shl
4954
}
5055

51-
; CHECK-LABEL: fn1_scalar:
52-
; CHECK: mov w[[REG:[0-9]+]], #1664
53-
; CHECK-NEXT: mul w0, w0, w[[REG]]
54-
; CHECK-NEXT: ret
5556
define i32 @fn1_scalar(i32 %arg) {
57+
; CHECK-LABEL: fn1_scalar:
58+
; CHECK: // %bb.0: // %entry
59+
; CHECK-NEXT: mov w8, #1664
60+
; CHECK-NEXT: mul w0, w0, w8
61+
; CHECK-NEXT: ret
5662
entry:
5763
%shl = shl i32 %arg, 7
5864
%mul = mul i32 %shl, 13
5965
ret i32 %mul
6066
}
6167

62-
; CHECK-LABEL: fn2_scalar:
63-
; CHECK: mov w[[REG:[0-9]+]], #1664
64-
; CHECK-NEXT: mul w0, w0, w[[REG]]
65-
; CHECK-NEXT: ret
6668
define i32 @fn2_scalar(i32 %arg) {
69+
; CHECK-LABEL: fn2_scalar:
70+
; CHECK: // %bb.0: // %entry
71+
; CHECK-NEXT: mov w8, #1664
72+
; CHECK-NEXT: mul w0, w0, w8
73+
; CHECK-NEXT: ret
6774
entry:
6875
%mul = mul i32 %arg, 13
6976
%shl = shl i32 %mul, 7
7077
ret i32 %shl
7178
}
7279

73-
; CHECK-LABEL: fn1_scalar_undef:
74-
; CHECK: mov w0
75-
; CHECK-NEXT: ret
7680
define i32 @fn1_scalar_undef(i32 %arg) {
81+
; CHECK-LABEL: fn1_scalar_undef:
82+
; CHECK: // %bb.0: // %entry
83+
; CHECK-NEXT: mov w0, wzr
84+
; CHECK-NEXT: ret
7785
entry:
7886
%shl = shl i32 %arg, 7
7987
%mul = mul i32 %shl, undef
8088
ret i32 %mul
8189
}
8290

83-
; CHECK-LABEL: fn2_scalar_undef:
84-
; CHECK: mov w0
85-
; CHECK-NEXT: ret
8691
define i32 @fn2_scalar_undef(i32 %arg) {
92+
; CHECK-LABEL: fn2_scalar_undef:
93+
; CHECK: // %bb.0: // %entry
94+
; CHECK-NEXT: mov w0, wzr
95+
; CHECK-NEXT: ret
8796
entry:
8897
%mul = mul i32 %arg, undef
8998
%shl = shl i32 %mul, 7
9099
ret i32 %shl
91100
}
92101

93-
; CHECK-LABEL: fn1_scalar_opaque:
94-
; CHECK: mov w[[REG:[0-9]+]], #13
95-
; CHECK-NEXT: mul w[[REG]], w0, w[[REG]]
96-
; CHECK-NEXT: lsl w0, w[[REG]], #7
97-
; CHECK-NEXT: ret
98102
define i32 @fn1_scalar_opaque(i32 %arg) {
103+
; CHECK-LABEL: fn1_scalar_opaque:
104+
; CHECK: // %bb.0: // %entry
105+
; CHECK-NEXT: mov w8, #13
106+
; CHECK-NEXT: mul w8, w0, w8
107+
; CHECK-NEXT: lsl w0, w8, #7
108+
; CHECK-NEXT: ret
99109
entry:
100110
%bitcast = bitcast i32 13 to i32
101111
%shl = shl i32 %arg, 7
102112
%mul = mul i32 %shl, %bitcast
103113
ret i32 %mul
104114
}
105115

106-
; CHECK-LABEL: fn2_scalar_opaque:
107-
; CHECK: mov w[[REG:[0-9]+]], #13
108-
; CHECK-NEXT: mul w[[REG]], w0, w[[REG]]
109-
; CHECK-NEXT: lsl w0, w[[REG]], #7
110-
; CHECK-NEXT: ret
111116
define i32 @fn2_scalar_opaque(i32 %arg) {
117+
; CHECK-LABEL: fn2_scalar_opaque:
118+
; CHECK: // %bb.0: // %entry
119+
; CHECK-NEXT: mov w8, #13
120+
; CHECK-NEXT: mul w8, w0, w8
121+
; CHECK-NEXT: lsl w0, w8, #7
122+
; CHECK-NEXT: ret
112123
entry:
113124
%bitcast = bitcast i32 13 to i32
114125
%mul = mul i32 %arg, %bitcast

0 commit comments

Comments
 (0)