Skip to content
This repository was archived by the owner on Feb 5, 2019. It is now read-only.

Commit e6482fa

Browse files
committed
Merge SSE and AVX shuffle instructions in the comment printer.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173777 91177308-0d34-0410-b5e6-96231b3b80d8
1 parent 4c6a2ba commit e6482fa

File tree

2 files changed

+239
-98
lines changed

2 files changed

+239
-98
lines changed

lib/Target/X86/InstPrinter/X86InstComments.cpp

Lines changed: 14 additions & 98 deletions
Original file line numberDiff line numberDiff line change
@@ -34,10 +34,6 @@ void llvm::EmitAnyX86InstComments(const MCInst *MI, raw_ostream &OS,
3434

3535
switch (MI->getOpcode()) {
3636
case X86::INSERTPSrr:
37-
Src1Name = getRegName(MI->getOperand(0).getReg());
38-
Src2Name = getRegName(MI->getOperand(2).getReg());
39-
DecodeINSERTPSMask(MI->getOperand(3).getImm(), ShuffleMask);
40-
break;
4137
case X86::VINSERTPSrr:
4238
DestName = getRegName(MI->getOperand(0).getReg());
4339
Src1Name = getRegName(MI->getOperand(1).getReg());
@@ -46,10 +42,6 @@ void llvm::EmitAnyX86InstComments(const MCInst *MI, raw_ostream &OS,
4642
break;
4743

4844
case X86::MOVLHPSrr:
49-
Src2Name = getRegName(MI->getOperand(2).getReg());
50-
Src1Name = getRegName(MI->getOperand(0).getReg());
51-
DecodeMOVLHPSMask(2, ShuffleMask);
52-
break;
5345
case X86::VMOVLHPSrr:
5446
Src2Name = getRegName(MI->getOperand(2).getReg());
5547
Src1Name = getRegName(MI->getOperand(1).getReg());
@@ -58,10 +50,6 @@ void llvm::EmitAnyX86InstComments(const MCInst *MI, raw_ostream &OS,
5850
break;
5951

6052
case X86::MOVHLPSrr:
61-
Src2Name = getRegName(MI->getOperand(2).getReg());
62-
Src1Name = getRegName(MI->getOperand(0).getReg());
63-
DecodeMOVHLPSMask(2, ShuffleMask);
64-
break;
6553
case X86::VMOVHLPSrr:
6654
Src2Name = getRegName(MI->getOperand(2).getReg());
6755
Src1Name = getRegName(MI->getOperand(1).getReg());
@@ -154,15 +142,10 @@ void llvm::EmitAnyX86InstComments(const MCInst *MI, raw_ostream &OS,
154142
break;
155143

156144
case X86::PUNPCKHBWrr:
157-
Src2Name = getRegName(MI->getOperand(2).getReg());
158-
// FALL THROUGH.
159-
case X86::PUNPCKHBWrm:
160-
Src1Name = getRegName(MI->getOperand(0).getReg());
161-
DecodeUNPCKHMask(MVT::v16i8, ShuffleMask);
162-
break;
163145
case X86::VPUNPCKHBWrr:
164146
Src2Name = getRegName(MI->getOperand(2).getReg());
165147
// FALL THROUGH.
148+
case X86::PUNPCKHBWrm:
166149
case X86::VPUNPCKHBWrm:
167150
Src1Name = getRegName(MI->getOperand(1).getReg());
168151
DestName = getRegName(MI->getOperand(0).getReg());
@@ -177,15 +160,10 @@ void llvm::EmitAnyX86InstComments(const MCInst *MI, raw_ostream &OS,
177160
DecodeUNPCKHMask(MVT::v32i8, ShuffleMask);
178161
break;
179162
case X86::PUNPCKHWDrr:
180-
Src2Name = getRegName(MI->getOperand(2).getReg());
181-
// FALL THROUGH.
182-
case X86::PUNPCKHWDrm:
183-
Src1Name = getRegName(MI->getOperand(0).getReg());
184-
DecodeUNPCKHMask(MVT::v8i16, ShuffleMask);
185-
break;
186163
case X86::VPUNPCKHWDrr:
187164
Src2Name = getRegName(MI->getOperand(2).getReg());
188165
// FALL THROUGH.
166+
case X86::PUNPCKHWDrm:
189167
case X86::VPUNPCKHWDrm:
190168
Src1Name = getRegName(MI->getOperand(1).getReg());
191169
DestName = getRegName(MI->getOperand(0).getReg());
@@ -200,15 +178,10 @@ void llvm::EmitAnyX86InstComments(const MCInst *MI, raw_ostream &OS,
200178
DecodeUNPCKHMask(MVT::v16i16, ShuffleMask);
201179
break;
202180
case X86::PUNPCKHDQrr:
203-
Src2Name = getRegName(MI->getOperand(2).getReg());
204-
// FALL THROUGH.
205-
case X86::PUNPCKHDQrm:
206-
Src1Name = getRegName(MI->getOperand(0).getReg());
207-
DecodeUNPCKHMask(MVT::v4i32, ShuffleMask);
208-
break;
209181
case X86::VPUNPCKHDQrr:
210182
Src2Name = getRegName(MI->getOperand(2).getReg());
211183
// FALL THROUGH.
184+
case X86::PUNPCKHDQrm:
212185
case X86::VPUNPCKHDQrm:
213186
Src1Name = getRegName(MI->getOperand(1).getReg());
214187
DestName = getRegName(MI->getOperand(0).getReg());
@@ -223,15 +196,10 @@ void llvm::EmitAnyX86InstComments(const MCInst *MI, raw_ostream &OS,
223196
DecodeUNPCKHMask(MVT::v8i32, ShuffleMask);
224197
break;
225198
case X86::PUNPCKHQDQrr:
226-
Src2Name = getRegName(MI->getOperand(2).getReg());
227-
// FALL THROUGH.
228-
case X86::PUNPCKHQDQrm:
229-
Src1Name = getRegName(MI->getOperand(0).getReg());
230-
DecodeUNPCKHMask(MVT::v2i64, ShuffleMask);
231-
break;
232199
case X86::VPUNPCKHQDQrr:
233200
Src2Name = getRegName(MI->getOperand(2).getReg());
234201
// FALL THROUGH.
202+
case X86::PUNPCKHQDQrm:
235203
case X86::VPUNPCKHQDQrm:
236204
Src1Name = getRegName(MI->getOperand(1).getReg());
237205
DestName = getRegName(MI->getOperand(0).getReg());
@@ -247,15 +215,10 @@ void llvm::EmitAnyX86InstComments(const MCInst *MI, raw_ostream &OS,
247215
break;
248216

249217
case X86::PUNPCKLBWrr:
250-
Src2Name = getRegName(MI->getOperand(2).getReg());
251-
// FALL THROUGH.
252-
case X86::PUNPCKLBWrm:
253-
Src1Name = getRegName(MI->getOperand(0).getReg());
254-
DecodeUNPCKLMask(MVT::v16i8, ShuffleMask);
255-
break;
256218
case X86::VPUNPCKLBWrr:
257219
Src2Name = getRegName(MI->getOperand(2).getReg());
258220
// FALL THROUGH.
221+
case X86::PUNPCKLBWrm:
259222
case X86::VPUNPCKLBWrm:
260223
Src1Name = getRegName(MI->getOperand(1).getReg());
261224
DestName = getRegName(MI->getOperand(0).getReg());
@@ -270,15 +233,10 @@ void llvm::EmitAnyX86InstComments(const MCInst *MI, raw_ostream &OS,
270233
DecodeUNPCKLMask(MVT::v32i8, ShuffleMask);
271234
break;
272235
case X86::PUNPCKLWDrr:
273-
Src2Name = getRegName(MI->getOperand(2).getReg());
274-
// FALL THROUGH.
275-
case X86::PUNPCKLWDrm:
276-
Src1Name = getRegName(MI->getOperand(0).getReg());
277-
DecodeUNPCKLMask(MVT::v8i16, ShuffleMask);
278-
break;
279236
case X86::VPUNPCKLWDrr:
280237
Src2Name = getRegName(MI->getOperand(2).getReg());
281238
// FALL THROUGH.
239+
case X86::PUNPCKLWDrm:
282240
case X86::VPUNPCKLWDrm:
283241
Src1Name = getRegName(MI->getOperand(1).getReg());
284242
DestName = getRegName(MI->getOperand(0).getReg());
@@ -293,15 +251,10 @@ void llvm::EmitAnyX86InstComments(const MCInst *MI, raw_ostream &OS,
293251
DecodeUNPCKLMask(MVT::v16i16, ShuffleMask);
294252
break;
295253
case X86::PUNPCKLDQrr:
296-
Src2Name = getRegName(MI->getOperand(2).getReg());
297-
// FALL THROUGH.
298-
case X86::PUNPCKLDQrm:
299-
Src1Name = getRegName(MI->getOperand(0).getReg());
300-
DecodeUNPCKLMask(MVT::v4i32, ShuffleMask);
301-
break;
302254
case X86::VPUNPCKLDQrr:
303255
Src2Name = getRegName(MI->getOperand(2).getReg());
304256
// FALL THROUGH.
257+
case X86::PUNPCKLDQrm:
305258
case X86::VPUNPCKLDQrm:
306259
Src1Name = getRegName(MI->getOperand(1).getReg());
307260
DestName = getRegName(MI->getOperand(0).getReg());
@@ -316,15 +269,10 @@ void llvm::EmitAnyX86InstComments(const MCInst *MI, raw_ostream &OS,
316269
DecodeUNPCKLMask(MVT::v8i32, ShuffleMask);
317270
break;
318271
case X86::PUNPCKLQDQrr:
319-
Src2Name = getRegName(MI->getOperand(2).getReg());
320-
// FALL THROUGH.
321-
case X86::PUNPCKLQDQrm:
322-
Src1Name = getRegName(MI->getOperand(0).getReg());
323-
DecodeUNPCKLMask(MVT::v2i64, ShuffleMask);
324-
break;
325272
case X86::VPUNPCKLQDQrr:
326273
Src2Name = getRegName(MI->getOperand(2).getReg());
327274
// FALL THROUGH.
275+
case X86::PUNPCKLQDQrm:
328276
case X86::VPUNPCKLQDQrm:
329277
Src1Name = getRegName(MI->getOperand(1).getReg());
330278
DestName = getRegName(MI->getOperand(0).getReg());
@@ -340,16 +288,10 @@ void llvm::EmitAnyX86InstComments(const MCInst *MI, raw_ostream &OS,
340288
break;
341289

342290
case X86::SHUFPDrri:
343-
Src2Name = getRegName(MI->getOperand(2).getReg());
344-
// FALL THROUGH.
345-
case X86::SHUFPDrmi:
346-
DecodeSHUFPMask(MVT::v2f64, MI->getOperand(MI->getNumOperands()-1).getImm(),
347-
ShuffleMask);
348-
Src1Name = getRegName(MI->getOperand(0).getReg());
349-
break;
350291
case X86::VSHUFPDrri:
351292
Src2Name = getRegName(MI->getOperand(2).getReg());
352293
// FALL THROUGH.
294+
case X86::SHUFPDrmi:
353295
case X86::VSHUFPDrmi:
354296
DecodeSHUFPMask(MVT::v2f64, MI->getOperand(MI->getNumOperands()-1).getImm(),
355297
ShuffleMask);
@@ -367,16 +309,10 @@ void llvm::EmitAnyX86InstComments(const MCInst *MI, raw_ostream &OS,
367309
break;
368310

369311
case X86::SHUFPSrri:
370-
Src2Name = getRegName(MI->getOperand(2).getReg());
371-
// FALL THROUGH.
372-
case X86::SHUFPSrmi:
373-
DecodeSHUFPMask(MVT::v4f32, MI->getOperand(MI->getNumOperands()-1).getImm(),
374-
ShuffleMask);
375-
Src1Name = getRegName(MI->getOperand(0).getReg());
376-
break;
377312
case X86::VSHUFPSrri:
378313
Src2Name = getRegName(MI->getOperand(2).getReg());
379314
// FALL THROUGH.
315+
case X86::SHUFPSrmi:
380316
case X86::VSHUFPSrmi:
381317
DecodeSHUFPMask(MVT::v4f32, MI->getOperand(MI->getNumOperands()-1).getImm(),
382318
ShuffleMask);
@@ -394,15 +330,10 @@ void llvm::EmitAnyX86InstComments(const MCInst *MI, raw_ostream &OS,
394330
break;
395331

396332
case X86::UNPCKLPDrr:
397-
Src2Name = getRegName(MI->getOperand(2).getReg());
398-
// FALL THROUGH.
399-
case X86::UNPCKLPDrm:
400-
DecodeUNPCKLMask(MVT::v2f64, ShuffleMask);
401-
Src1Name = getRegName(MI->getOperand(0).getReg());
402-
break;
403333
case X86::VUNPCKLPDrr:
404334
Src2Name = getRegName(MI->getOperand(2).getReg());
405335
// FALL THROUGH.
336+
case X86::UNPCKLPDrm:
406337
case X86::VUNPCKLPDrm:
407338
DecodeUNPCKLMask(MVT::v2f64, ShuffleMask);
408339
Src1Name = getRegName(MI->getOperand(1).getReg());
@@ -417,15 +348,10 @@ void llvm::EmitAnyX86InstComments(const MCInst *MI, raw_ostream &OS,
417348
DestName = getRegName(MI->getOperand(0).getReg());
418349
break;
419350
case X86::UNPCKLPSrr:
420-
Src2Name = getRegName(MI->getOperand(2).getReg());
421-
// FALL THROUGH.
422-
case X86::UNPCKLPSrm:
423-
DecodeUNPCKLMask(MVT::v4f32, ShuffleMask);
424-
Src1Name = getRegName(MI->getOperand(0).getReg());
425-
break;
426351
case X86::VUNPCKLPSrr:
427352
Src2Name = getRegName(MI->getOperand(2).getReg());
428353
// FALL THROUGH.
354+
case X86::UNPCKLPSrm:
429355
case X86::VUNPCKLPSrm:
430356
DecodeUNPCKLMask(MVT::v4f32, ShuffleMask);
431357
Src1Name = getRegName(MI->getOperand(1).getReg());
@@ -440,15 +366,10 @@ void llvm::EmitAnyX86InstComments(const MCInst *MI, raw_ostream &OS,
440366
DestName = getRegName(MI->getOperand(0).getReg());
441367
break;
442368
case X86::UNPCKHPDrr:
443-
Src2Name = getRegName(MI->getOperand(2).getReg());
444-
// FALL THROUGH.
445-
case X86::UNPCKHPDrm:
446-
DecodeUNPCKHMask(MVT::v2f64, ShuffleMask);
447-
Src1Name = getRegName(MI->getOperand(0).getReg());
448-
break;
449369
case X86::VUNPCKHPDrr:
450370
Src2Name = getRegName(MI->getOperand(2).getReg());
451371
// FALL THROUGH.
372+
case X86::UNPCKHPDrm:
452373
case X86::VUNPCKHPDrm:
453374
DecodeUNPCKHMask(MVT::v2f64, ShuffleMask);
454375
Src1Name = getRegName(MI->getOperand(1).getReg());
@@ -463,15 +384,10 @@ void llvm::EmitAnyX86InstComments(const MCInst *MI, raw_ostream &OS,
463384
DestName = getRegName(MI->getOperand(0).getReg());
464385
break;
465386
case X86::UNPCKHPSrr:
466-
Src2Name = getRegName(MI->getOperand(2).getReg());
467-
// FALL THROUGH.
468-
case X86::UNPCKHPSrm:
469-
DecodeUNPCKHMask(MVT::v4f32, ShuffleMask);
470-
Src1Name = getRegName(MI->getOperand(0).getReg());
471-
break;
472387
case X86::VUNPCKHPSrr:
473388
Src2Name = getRegName(MI->getOperand(2).getReg());
474389
// FALL THROUGH.
390+
case X86::UNPCKHPSrm:
475391
case X86::VUNPCKHPSrm:
476392
DecodeUNPCKHMask(MVT::v4f32, ShuffleMask);
477393
Src1Name = getRegName(MI->getOperand(1).getReg());

0 commit comments

Comments
 (0)