Skip to content

Commit 9c3615f

Browse files
committed
Remove unused predicate and simplify lit test
1 parent 8b3753a commit 9c3615f

File tree

2 files changed

+64
-138
lines changed

2 files changed

+64
-138
lines changed

llvm/lib/Target/X86/X86InstrPredicates.td

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,6 @@ def NoEGPR : Predicate<"!Subtarget->hasEGPR()">;
4646
def HasNDD : Predicate<"Subtarget->hasNDD()">;
4747
def NoNDD : Predicate<"!Subtarget->hasNDD()">;
4848
def HasZU : Predicate<"Subtarget->hasZU()">;
49-
def NoZU : Predicate<"!Subtarget->hasZU()">;
5049
def HasCF : Predicate<"Subtarget->hasCF()">;
5150
def HasCMOV : Predicate<"Subtarget->canUseCMOV()">;
5251
def NoCMOV : Predicate<"!Subtarget->canUseCMOV()">;
Lines changed: 64 additions & 137 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2-
; RUN: llc < %s -mtriple=x86_64-pc-linux-gnu -mattr=+zu | FileCheck %s --check-prefix=ZU
3-
; RUN: llc < %s -mtriple=x86_64-pc-linux-gnu | FileCheck %s --check-prefix=NOZU
2+
; RUN: llc < %s -mtriple=x86_64-pc-linux-gnu -mattr=+zu | FileCheck %s --check-prefixes=CHECK,ZU
3+
; RUN: llc < %s -mtriple=x86_64-pc-linux-gnu | FileCheck %s --check-prefixes=CHECK,NOZU
44

55
; Test generation of 16b imulzu when -mattr=+zu is specified.
66
; The mulzu_* tests check for basic generation, which is limited to cases where a
@@ -89,37 +89,24 @@ define i64 @mulzu_16_64_mem(ptr %P) {
8989
; cases should match.
9090

9191
define void @mulzu_16_store(i16 %A, ptr %R) {
92-
; ZU-LABEL: mulzu_16_store:
93-
; ZU: # %bb.0:
94-
; ZU-NEXT: imull $1234, %edi, %eax # imm = 0x4D2
95-
; ZU-NEXT: movw %ax, (%rsi)
96-
; ZU-NEXT: retq
97-
;
98-
; NOZU-LABEL: mulzu_16_store:
99-
; NOZU: # %bb.0:
100-
; NOZU-NEXT: imull $1234, %edi, %eax # imm = 0x4D2
101-
; NOZU-NEXT: movw %ax, (%rsi)
102-
; NOZU-NEXT: retq
92+
; CHECK-LABEL: mulzu_16_store:
93+
; CHECK: # %bb.0:
94+
; CHECK-NEXT: imull $1234, %edi, %eax # imm = 0x4D2
95+
; CHECK-NEXT: movw %ax, (%rsi)
96+
; CHECK-NEXT: retq
10397
%gep = getelementptr i16, ptr %R, i64 0
10498
%mul = mul i16 %A, 1234
10599
store i16 %mul, ptr %gep
106100
ret void
107101
}
108102

109103
define i32 @mulzu_16_store_32(i16 %A, ptr %R) {
110-
; ZU-LABEL: mulzu_16_store_32:
111-
; ZU: # %bb.0:
112-
; ZU-NEXT: imull $1234, %edi, %eax # imm = 0x4D2
113-
; ZU-NEXT: movw %ax, (%rsi)
114-
; ZU-NEXT: movzwl %ax, %eax
115-
; ZU-NEXT: retq
116-
;
117-
; NOZU-LABEL: mulzu_16_store_32:
118-
; NOZU: # %bb.0:
119-
; NOZU-NEXT: imull $1234, %edi, %eax # imm = 0x4D2
120-
; NOZU-NEXT: movw %ax, (%rsi)
121-
; NOZU-NEXT: movzwl %ax, %eax
122-
; NOZU-NEXT: retq
104+
; CHECK-LABEL: mulzu_16_store_32:
105+
; CHECK: # %bb.0:
106+
; CHECK-NEXT: imull $1234, %edi, %eax # imm = 0x4D2
107+
; CHECK-NEXT: movw %ax, (%rsi)
108+
; CHECK-NEXT: movzwl %ax, %eax
109+
; CHECK-NEXT: retq
123110
%gep = getelementptr i16, ptr %R, i64 0
124111
%mul = mul i16 %A, 1234
125112
store i16 %mul, ptr %gep
@@ -128,19 +115,12 @@ define i32 @mulzu_16_store_32(i16 %A, ptr %R) {
128115
}
129116

130117
define i64 @mulzu_16_store_64(i16 %A, ptr %R) {
131-
; ZU-LABEL: mulzu_16_store_64:
132-
; ZU: # %bb.0:
133-
; ZU-NEXT: imull $1234, %edi, %eax # imm = 0x4D2
134-
; ZU-NEXT: movw %ax, (%rsi)
135-
; ZU-NEXT: movzwl %ax, %eax
136-
; ZU-NEXT: retq
137-
;
138-
; NOZU-LABEL: mulzu_16_store_64:
139-
; NOZU: # %bb.0:
140-
; NOZU-NEXT: imull $1234, %edi, %eax # imm = 0x4D2
141-
; NOZU-NEXT: movw %ax, (%rsi)
142-
; NOZU-NEXT: movzwl %ax, %eax
143-
; NOZU-NEXT: retq
118+
; CHECK-LABEL: mulzu_16_store_64:
119+
; CHECK: # %bb.0:
120+
; CHECK-NEXT: imull $1234, %edi, %eax # imm = 0x4D2
121+
; CHECK-NEXT: movw %ax, (%rsi)
122+
; CHECK-NEXT: movzwl %ax, %eax
123+
; CHECK-NEXT: retq
144124
%gep = getelementptr i16, ptr %R, i64 0
145125
%mul = mul i16 %A, 1234
146126
store i16 %mul, ptr %gep
@@ -149,34 +129,22 @@ define i64 @mulzu_16_store_64(i16 %A, ptr %R) {
149129
}
150130

151131
define i32 @mulzu_sext_16_32(i16 %A) {
152-
; ZU-LABEL: mulzu_sext_16_32:
153-
; ZU: # %bb.0:
154-
; ZU-NEXT: imull $1234, %edi, %eax # imm = 0x4D2
155-
; ZU-NEXT: cwtl
156-
; ZU-NEXT: retq
157-
;
158-
; NOZU-LABEL: mulzu_sext_16_32:
159-
; NOZU: # %bb.0:
160-
; NOZU-NEXT: imull $1234, %edi, %eax # imm = 0x4D2
161-
; NOZU-NEXT: cwtl
162-
; NOZU-NEXT: retq
132+
; CHECK-LABEL: mulzu_sext_16_32:
133+
; CHECK: # %bb.0:
134+
; CHECK-NEXT: imull $1234, %edi, %eax # imm = 0x4D2
135+
; CHECK-NEXT: cwtl
136+
; CHECK-NEXT: retq
163137
%mul = mul i16 %A, 1234
164138
%r = sext i16 %mul to i32
165139
ret i32 %r
166140
}
167141

168142
define i64 @mulzu_sext_16_64(i16 %A) {
169-
; ZU-LABEL: mulzu_sext_16_64:
170-
; ZU: # %bb.0:
171-
; ZU-NEXT: imull $1234, %edi, %eax # imm = 0x4D2
172-
; ZU-NEXT: movswq %ax, %rax
173-
; ZU-NEXT: retq
174-
;
175-
; NOZU-LABEL: mulzu_sext_16_64:
176-
; NOZU: # %bb.0:
177-
; NOZU-NEXT: imull $1234, %edi, %eax # imm = 0x4D2
178-
; NOZU-NEXT: movswq %ax, %rax
179-
; NOZU-NEXT: retq
143+
; CHECK-LABEL: mulzu_sext_16_64:
144+
; CHECK: # %bb.0:
145+
; CHECK-NEXT: imull $1234, %edi, %eax # imm = 0x4D2
146+
; CHECK-NEXT: movswq %ax, %rax
147+
; CHECK-NEXT: retq
180148
%mul = mul i16 %A, 1234
181149
%r = sext i16 %mul to i64
182150
ret i64 %r
@@ -188,112 +156,71 @@ define i64 @mulzu_sext_16_64(i16 %A) {
188156

189157
define i16 @mul4_16(i16 %A) {
190158
;
191-
; ZU-LABEL: mul4_16:
192-
; ZU: # %bb.0:
193-
; ZU-NEXT: # kill: def $edi killed $edi def $rdi
194-
; ZU-NEXT: leal (,%rdi,4), %eax
195-
; ZU-NEXT: # kill: def $ax killed $ax killed $eax
196-
; ZU-NEXT: retq
197-
;
198-
; NOZU-LABEL: mul4_16:
199-
; NOZU: # %bb.0:
200-
; NOZU-NEXT: # kill: def $edi killed $edi def $rdi
201-
; NOZU-NEXT: leal (,%rdi,4), %eax
202-
; NOZU-NEXT: # kill: def $ax killed $ax killed $eax
203-
; NOZU-NEXT: retq
159+
; CHECK-LABEL: mul4_16:
160+
; CHECK: # %bb.0:
161+
; CHECK-NEXT: # kill: def $edi killed $edi def $rdi
162+
; CHECK-NEXT: leal (,%rdi,4), %eax
163+
; CHECK-NEXT: # kill: def $ax killed $ax killed $eax
164+
; CHECK-NEXT: retq
204165
%mul = mul i16 %A, 4
205166
ret i16 %mul
206167
}
207168

208169
define i16 @mul4096_16(i16 %A) {
209170
;
210-
; ZU-LABEL: mul4096_16:
211-
; ZU: # %bb.0:
212-
; ZU-NEXT: movl %edi, %eax
213-
; ZU-NEXT: shll $12, %eax
214-
; ZU-NEXT: # kill: def $ax killed $ax killed $eax
215-
; ZU-NEXT: retq
216-
;
217-
; NOZU-LABEL: mul4096_16:
218-
; NOZU: # %bb.0:
219-
; NOZU-NEXT: movl %edi, %eax
220-
; NOZU-NEXT: shll $12, %eax
221-
; NOZU-NEXT: # kill: def $ax killed $ax killed $eax
222-
; NOZU-NEXT: retq
171+
; CHECK-LABEL: mul4096_16:
172+
; CHECK: # %bb.0:
173+
; CHECK-NEXT: movl %edi, %eax
174+
; CHECK-NEXT: shll $12, %eax
175+
; CHECK-NEXT: # kill: def $ax killed $ax killed $eax
176+
; CHECK-NEXT: retq
223177
%mul = mul i16 %A, 4096
224178
ret i16 %mul
225179
}
226180

227181
define i16 @mulmin4096_16(i16 %A) {
228182
;
229-
; ZU-LABEL: mulmin4096_16:
230-
; ZU: # %bb.0:
231-
; ZU-NEXT: movl %edi, %eax
232-
; ZU-NEXT: shll $12, %eax
233-
; ZU-NEXT: negl %eax
234-
; ZU-NEXT: # kill: def $ax killed $ax killed $eax
235-
; ZU-NEXT: retq
236-
;
237-
; NOZU-LABEL: mulmin4096_16:
238-
; NOZU: # %bb.0:
239-
; NOZU-NEXT: movl %edi, %eax
240-
; NOZU-NEXT: shll $12, %eax
241-
; NOZU-NEXT: negl %eax
242-
; NOZU-NEXT: # kill: def $ax killed $ax killed $eax
243-
; NOZU-NEXT: retq
183+
; CHECK-LABEL: mulmin4096_16:
184+
; CHECK: # %bb.0:
185+
; CHECK-NEXT: movl %edi, %eax
186+
; CHECK-NEXT: shll $12, %eax
187+
; CHECK-NEXT: negl %eax
188+
; CHECK-NEXT: # kill: def $ax killed $ax killed $eax
189+
; CHECK-NEXT: retq
244190
%mul = mul i16 %A, -4096
245191
ret i16 %mul
246192
}
247193

248194
define i16 @mul4_16_minsize(i16 %A) minsize {
249195
;
250-
; ZU-LABEL: mul4_16_minsize:
251-
; ZU: # %bb.0:
252-
; ZU-NEXT: # kill: def $edi killed $edi def $rdi
253-
; ZU-NEXT: leal (,%rdi,4), %eax
254-
; ZU-NEXT: # kill: def $ax killed $ax killed $eax
255-
; ZU-NEXT: retq
256-
;
257-
; NOZU-LABEL: mul4_16_minsize:
258-
; NOZU: # %bb.0:
259-
; NOZU-NEXT: # kill: def $edi killed $edi def $rdi
260-
; NOZU-NEXT: leal (,%rdi,4), %eax
261-
; NOZU-NEXT: # kill: def $ax killed $ax killed $eax
262-
; NOZU-NEXT: retq
196+
; CHECK-LABEL: mul4_16_minsize:
197+
; CHECK: # %bb.0:
198+
; CHECK-NEXT: # kill: def $edi killed $edi def $rdi
199+
; CHECK-NEXT: leal (,%rdi,4), %eax
200+
; CHECK-NEXT: # kill: def $ax killed $ax killed $eax
201+
; CHECK-NEXT: retq
263202
%mul = mul i16 %A, 4
264203
ret i16 %mul
265204
}
266205

267206
define i16 @mul0_16(i16 %A) {
268207
;
269-
; ZU-LABEL: mul0_16:
270-
; ZU: # %bb.0:
271-
; ZU-NEXT: xorl %eax, %eax
272-
; ZU-NEXT: retq
273-
;
274-
; NOZU-LABEL: mul0_16:
275-
; NOZU: # %bb.0:
276-
; NOZU-NEXT: xorl %eax, %eax
277-
; NOZU-NEXT: retq
208+
; CHECK-LABEL: mul0_16:
209+
; CHECK: # %bb.0:
210+
; CHECK-NEXT: xorl %eax, %eax
211+
; CHECK-NEXT: retq
278212
%mul = mul i16 %A, 0
279213
ret i16 %mul
280214
}
281215

282216
define i16 @mul4294967295_16(i16 %A) {
283217
;
284-
; ZU-LABEL: mul4294967295_16:
285-
; ZU: # %bb.0:
286-
; ZU-NEXT: movl %edi, %eax
287-
; ZU-NEXT: negl %eax
288-
; ZU-NEXT: # kill: def $ax killed $ax killed $eax
289-
; ZU-NEXT: retq
290-
;
291-
; NOZU-LABEL: mul4294967295_16:
292-
; NOZU: # %bb.0:
293-
; NOZU-NEXT: movl %edi, %eax
294-
; NOZU-NEXT: negl %eax
295-
; NOZU-NEXT: # kill: def $ax killed $ax killed $eax
296-
; NOZU-NEXT: retq
218+
; CHECK-LABEL: mul4294967295_16:
219+
; CHECK: # %bb.0:
220+
; CHECK-NEXT: movl %edi, %eax
221+
; CHECK-NEXT: negl %eax
222+
; CHECK-NEXT: # kill: def $ax killed $ax killed $eax
223+
; CHECK-NEXT: retq
297224
%mul = mul i16 %A, 4294967295
298225
ret i16 %mul
299226
}

0 commit comments

Comments
 (0)