Skip to content

Commit 136cf3b

Browse files
Remove redundat tests
1 parent 4afa268 commit 136cf3b

File tree

3 files changed

+6
-120
lines changed

3 files changed

+6
-120
lines changed

llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3585,6 +3585,12 @@ let Predicates = [HasSVE2orSME] in {
35853585
defm SMINP_ZPmZ : sve2_int_arith_pred<0b101101, "sminp", int_aarch64_sve_sminp>;
35863586
defm UMINP_ZPmZ : sve2_int_arith_pred<0b101111, "uminp", int_aarch64_sve_uminp>;
35873587

3588+
// SVE2 integer unary operations (predicated)
3589+
defm URECPE_ZPmZ : sve2_int_un_pred_arit_s<0b00, "urecpe", int_aarch64_sve_urecpe>;
3590+
defm URSQRTE_ZPmZ : sve2_int_un_pred_arit_s<0b01, "ursqrte", int_aarch64_sve_ursqrte>;
3591+
defm SQABS_ZPmZ : sve2_int_un_pred_arit< 0b10, "sqabs", int_aarch64_sve_sqabs>;
3592+
defm SQNEG_ZPmZ : sve2_int_un_pred_arit< 0b11, "sqneg", int_aarch64_sve_sqneg>;
3593+
35883594
// SVE2 saturating add/subtract
35893595
defm SQADD_ZPmZ : sve2_int_arith_pred<0b110000, "sqadd", int_aarch64_sve_sqadd>;
35903596
defm UQADD_ZPmZ : sve2_int_arith_pred<0b110010, "uqadd", int_aarch64_sve_uqadd>;

llvm/test/MC/AArch64/SVE2p2/unary_arithmetic_predicated_z-diagnotics.s

Lines changed: 0 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -47,16 +47,6 @@ not z31.b, p7/z, z31.h
4747
// CHECK-NEXT: not z31.b, p7/z, z31.h
4848
// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
4949

50-
sqabs z31.d, p7/z, z31.s
51-
// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid element width
52-
// CHECK-NEXT: sqabs z31.d, p7/z, z31.s
53-
// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
54-
55-
sqneg z31.b, p7/z, z31.h
56-
// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid element width
57-
// CHECK-NEXT: sqneg z31.b, p7/z, z31.h
58-
// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
59-
6050
sxtb z31.h, p7/z, z31.s
6151
// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid element width
6252
// CHECK-NEXT: sxtb z31.h, p7/z, z31.s
@@ -72,16 +62,6 @@ sxtw z31.d, p7/z, z31.h
7262
// CHECK-NEXT: sxtw z31.d, p7/z, z31.h
7363
// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
7464

75-
urecpe z31.b, p7/z, z31.b
76-
// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid element width
77-
// CHECK-NEXT: urecpe z31.b, p7/z, z31.b
78-
// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
79-
80-
ursqrte z31.h, p7/z, z31.h
81-
// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid element width
82-
// CHECK-NEXT: ursqrte z31.h, p7/z, z31.h
83-
// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
84-
8565
uxtb z31.s, p7/z, z31.d
8666
// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid element width
8767
// CHECK-NEXT: uxtb z31.s, p7/z, z31.d
@@ -145,16 +125,6 @@ not z31.b, p8/z, z31.b
145125
// CHECK-NEXT: not z31.b, p8/z, z31.b
146126
// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
147127

148-
sqabs z31.b, p8/z, z31.b
149-
// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid restricted predicate register, expected p0..p7 (without element suffix)
150-
// CHECK-NEXT: sqabs z31.b, p8/z, z31.b
151-
// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
152-
153-
sqneg z31.b, p8/z, z31.b
154-
// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid restricted predicate register, expected p0..p7 (without element suffix)
155-
// CHECK-NEXT: sqneg z31.b, p8/z, z31.b
156-
// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
157-
158128
sxtb z31.s, p8/z, z31.s
159129
// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid restricted predicate register, expected p0..p7 (without element suffix)
160130
// CHECK-NEXT: sxtb z31.s, p8/z, z31.s
@@ -170,16 +140,6 @@ sxtw z0.d, p8/z, z0.d
170140
// CHECK-NEXT: sxtw z0.d, p8/z, z0.d
171141
// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
172142

173-
urecpe z0.s, p8/z, z0.s
174-
// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid restricted predicate register, expected p0..p7 (without element suffix)
175-
// CHECK-NEXT: urecpe z0.s, p8/z, z0.s
176-
// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
177-
178-
ursqrte z0.s, p8/z, z0.s
179-
// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid restricted predicate register, expected p0..p7 (without element suffix)
180-
// CHECK-NEXT: ursqrte z0.s, p8/z, z0.s
181-
// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
182-
183143
uxtb z31.s, p8/z, z31.s
184144
// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid restricted predicate register, expected p0..p7 (without element suffix)
185145
// CHECK-NEXT: uxtb z31.s, p8/z, z31.s
@@ -252,18 +212,6 @@ not z0.h, p0/z, z3.h
252212
// CHECK-NEXT: not z0.h, p0/z, z3.h
253213
// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
254214

255-
movprfx z0, z7
256-
sqabs z0.h, p0/z, z3.h
257-
// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: instruction is unpredictable when following a movprfx, suggest replacing movprfx with mov
258-
// CHECK-NEXT: sqabs z0.h, p0/z, z3.h
259-
// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
260-
261-
movprfx z0.h, p0/z, z7.h
262-
sqneg z0.h, p0/z, z3.h
263-
// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: instruction is unpredictable when following a movprfx, suggest replacing movprfx with mov
264-
// CHECK-NEXT: sqneg z0.h, p0/z, z3.h
265-
// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
266-
267215
movprfx z0, z7
268216
sxtb z0.h, p0/z, z3.h
269217
// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: instruction is unpredictable when following a movprfx, suggest replacing movprfx with mov
@@ -282,18 +230,6 @@ sxtw z0.d, p0/z, z3.d
282230
// CHECK-NEXT: sxtw z0.d, p0/z, z3.d
283231
// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
284232

285-
movprfx z0, z7
286-
urecpe z0.s, p0/z, z3.s
287-
// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: instruction is unpredictable when following a movprfx, suggest replacing movprfx with mov
288-
// CHECK-NEXT: urecpe z0.s, p0/z, z3.s
289-
// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
290-
291-
movprfx z0.s, p0/z, z7.s
292-
ursqrte z0.s, p0/z, z3.s
293-
// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: instruction is unpredictable when following a movprfx, suggest replacing movprfx with mov
294-
// CHECK-NEXT: ursqrte z0.s, p0/z, z3.s
295-
// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
296-
297233
movprfx z0, z7
298234
uxtb z0.h, p0/z, z3.h
299235
// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: instruction is unpredictable when following a movprfx, suggest replacing movprfx with mov

llvm/test/MC/AArch64/SVE2p2/unary_arithmetic_predicated_z.s

Lines changed: 0 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -142,34 +142,6 @@ not z31.d, p7/z, z31.d // 00000100-11001110-10111111-11111111
142142
// CHECK-ERROR: instruction requires: sme2p2 or sve2p2
143143
// CHECK-UNKNOWN: 04cebfff <unknown>
144144

145-
//SQABS
146-
147-
sqabs z0.b, p0/z, z0.b // 01000100-00001010-10100000-00000000
148-
// CHECK-INST: sqabs z0.b, p0/z, z0.b
149-
// CHECK-ENCODING: [0x00,0xa0,0x0a,0x44]
150-
// CHECK-ERROR: instruction requires: sme2p2 or sve2p2
151-
// CHECK-UNKNOWN: 440aa000 <unknown>
152-
153-
sqabs z31.d, p7/z, z31.d // 01000100-11001010-10111111-11111111
154-
// CHECK-INST: sqabs z31.d, p7/z, z31.d
155-
// CHECK-ENCODING: [0xff,0xbf,0xca,0x44]
156-
// CHECK-ERROR: instruction requires: sme2p2 or sve2p2
157-
// CHECK-UNKNOWN: 44cabfff <unknown>
158-
159-
// SQNEG
160-
161-
sqneg z0.b, p0/z, z0.b // 01000100-00001011-10100000-00000000
162-
// CHECK-INST: sqneg z0.b, p0/z, z0.b
163-
// CHECK-ENCODING: [0x00,0xa0,0x0b,0x44]
164-
// CHECK-ERROR: instruction requires: sme2p2 or sve2p2
165-
// CHECK-UNKNOWN: 440ba000 <unknown>
166-
167-
sqneg z31.d, p7/z, z31.d // 01000100-11001011-10111111-11111111
168-
// CHECK-INST: sqneg z31.d, p7/z, z31.d
169-
// CHECK-ENCODING: [0xff,0xbf,0xcb,0x44]
170-
// CHECK-ERROR: instruction requires: sme2p2 or sve2p2
171-
// CHECK-UNKNOWN: 44cbbfff <unknown>
172-
173145
// SXTB
174146

175147
sxtb z0.h, p0/z, z0.h // 00000100-01000000-10100000-00000000
@@ -212,34 +184,6 @@ sxtw z31.d, p7/z, z31.d // 00000100-11000100-10111111-11111111
212184
// CHECK-ERROR: instruction requires: sme2p2 or sve2p2
213185
// CHECK-UNKNOWN: 04c4bfff <unknown>
214186

215-
// URECPE
216-
217-
urecpe z0.s, p0/z, z0.s // 01000100-10000010-10100000-00000000
218-
// CHECK-INST: urecpe z0.s, p0/z, z0.s
219-
// CHECK-ENCODING: [0x00,0xa0,0x82,0x44]
220-
// CHECK-ERROR: instruction requires: sme2p2 or sve2p2
221-
// CHECK-UNKNOWN: 4482a000 <unknown>
222-
223-
urecpe z31.s, p7/z, z31.s // 01000100-10000010-10111111-11111111
224-
// CHECK-INST: urecpe z31.s, p7/z, z31.s
225-
// CHECK-ENCODING: [0xff,0xbf,0x82,0x44]
226-
// CHECK-ERROR: instruction requires: sme2p2 or sve2p2
227-
// CHECK-UNKNOWN: 4482bfff <unknown>
228-
229-
// URSQRTE
230-
231-
ursqrte z0.s, p0/z, z0.s // 01000100-10000011-10100000-00000000
232-
// CHECK-INST: ursqrte z0.s, p0/z, z0.s
233-
// CHECK-ENCODING: [0x00,0xa0,0x83,0x44]
234-
// CHECK-ERROR: instruction requires: sme2p2 or sve2p2
235-
// CHECK-UNKNOWN: 4483a000 <unknown>
236-
237-
ursqrte z31.s, p7/z, z31.s // 01000100-10000011-10111111-11111111
238-
// CHECK-INST: ursqrte z31.s, p7/z, z31.s
239-
// CHECK-ENCODING: [0xff,0xbf,0x83,0x44]
240-
// CHECK-ERROR: instruction requires: sme2p2 or sve2p2
241-
// CHECK-UNKNOWN: 4483bfff <unknown>
242-
243187
// UXTB
244188

245189
uxtb z0.h, p0/z, z0.h // 00000100-01000001-10100000-00000000

0 commit comments

Comments
 (0)