| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
llvm-svn: 274469
|
| |
|
|
| |
llvm-svn: 274468
|
| |
|
|
| |
llvm-svn: 274467
|
| |
|
|
|
|
| |
comments
llvm-svn: 274466
|
| |
|
|
| |
llvm-svn: 274464
|
| |
|
|
| |
llvm-svn: 274462
|
| |
|
|
| |
llvm-svn: 274461
|
| |
|
|
|
|
|
|
|
|
| |
This patch adds support for including the avx512 mask register information in the mask/maskz versions of shuffle instruction comments.
This initial version just adds support for MOVDDUP/MOVSHDUP/MOVSLDUP to reduce the mass of test regenerations, other shuffle instructions can be added in due course.
Differential Revision: http://reviews.llvm.org/D21953
llvm-svn: 274459
|
| |
|
|
|
|
|
|
| |
generation
Now matches other shuffles
llvm-svn: 272464
|
| |
|
|
| |
llvm-svn: 272371
|
| |
|
|
|
|
| |
shuffles. Previously we were printing the mask operands as the register names.
llvm-svn: 272367
|
| |
|
|
| |
llvm-svn: 272319
|
| |
|
|
|
|
| |
masks. There are still more bugs here with UNPCK and PALIGN for sure. But these were the easiest ones to fix.
llvm-svn: 272252
|
| |
|
|
|
|
| |
instructions. Then add shuffle decode printing for the EVEX forms which is made easier by having the naming structure more similar to other instructions.
llvm-svn: 272249
|
| |
|
|
|
|
| |
PSHUFLW.
llvm-svn: 271628
|
| |
|
|
|
|
| |
AVX512VL is enabled. Also add shuffle comment printing for AVX512VL VPERMPD/VPERMQ to keep some tests that now use these instructions instead of the AVX2 ones.
llvm-svn: 270317
|
| |
|
|
|
|
| |
Fixed incorrect operands indices used to access src registers
llvm-svn: 269221
|
| |
|
|
| |
llvm-svn: 269209
|
| |
|
|
|
|
|
|
| |
instructions. NFC
This will make it easier to support the different writemask cases in shuffle comments
llvm-svn: 269174
|
| |
|
|
|
|
|
|
| |
shuffle comments
This came up in discussion on D19198
llvm-svn: 268915
|
| |
|
|
| |
llvm-svn: 260034
|
| |
|
|
| |
llvm-svn: 260007
|
| |
|
|
|
|
| |
To allow the helper functions to make use of them.
llvm-svn: 259997
|
| |
|
|
|
|
|
|
| |
First step towards being able to decode AVX512 PMOVZX instructions without a massive bloat in the shuffle decode switch statement.
This should also make it easier to decode X86ISD::VZEXT target shuffles in the future.
llvm-svn: 259995
|
| |
|
|
| |
llvm-svn: 259496
|
| |
|
|
| |
llvm-svn: 259430
|
| |
|
|
| |
llvm-svn: 259427
|
| |
|
|
| |
llvm-svn: 259420
|
| |
|
|
| |
llvm-svn: 256681
|
| |
|
|
| |
llvm-svn: 255459
|
| |
|
|
| |
llvm-svn: 255442
|
| |
|
|
| |
llvm-svn: 253777
|
| |
|
|
|
|
|
|
| |
instructions.
Differential Revision: http://reviews.llvm.org/D14702
llvm-svn: 253548
|
| |
|
|
| |
llvm-svn: 253396
|
| |
|
|
| |
llvm-svn: 253391
|
| |
|
|
|
|
| |
Now that we can recognise different vector sizes.
llvm-svn: 253268
|
| |
|
|
|
|
| |
Now that we can recognise different vector sizes - will make future AVX512 additions easier.
llvm-svn: 253266
|
| |
|
|
|
|
| |
Now that we can recognise different vector sizes - will make future AVX512 additions easier.
llvm-svn: 253260
|
| |
|
|
|
|
| |
Now that we can recognise different vector sizes - will make future AVX512 additions easier.
llvm-svn: 253258
|
| |
|
|
|
|
|
|
| |
instructions.
Differential Revision: http://reviews.llvm.org/D14322
llvm-svn: 253185
|
| |
|
|
|
|
| |
It broke layering violation. Reproducible with BUILD_SHARED_LIBS=ON.
llvm-svn: 253163
|
| |
|
|
|
|
|
|
| |
instructions.
Differential Revision: http://reviews.llvm.org/D14322
llvm-svn: 253160
|
| |
|
|
|
|
|
|
| |
shuffle packed values at 128-bit granularity )
Differential Revision: http://reviews.llvm.org/D13648
llvm-svn: 250400
|
| |
|
|
|
|
|
| |
Added shuffle decodes for MMX PUNPCK + PSHUFW shuffles.
Added shuffle decodes for 3DNow! PSWAPD shuffles.
llvm-svn: 247526
|
| |
|
|
|
|
|
|
|
|
|
|
| |
This patch adds support for v8i16 and v16i8 shuffle lowering using the immediate versions of the SSE4A EXTRQ and INSERTQ instructions. Although rather limited (they can only act on the lower 64-bits of the source vectors, leave the upper 64-bits of the result vector undefined and don't have VEX encoded variants), the instructions are still useful for the zero extension of any lane (EXTRQ) or inserting a lane into another vector (INSERTQ). Testing demonstrated that it wasn't typically worth it to use these instructions for v2i64 or v4i32 vector shuffles although they are capable of it.
As well as adding specific pattern matching for the shuffles, the patch uses EXTRQ for zero extension cases where SSE41 isn't available and its more efficient than the SSE2 'unpack' default approach. It also adds shuffle decode support for the EXTRQ / INSERTQ cases when the instructions are handling full byte-sized extractions / insertions.
From this foundation, future patches will be able to make use of the instructions for situations that use their ability to extract/insert at the bit level.
Differential Revision: http://reviews.llvm.org/D10146
llvm-svn: 241508
|
| |
|
|
| |
llvm-svn: 238126
|
| |
|
|
| |
llvm-svn: 238125
|
| |
|
|
|
|
|
|
|
|
|
|
| |
moves and integer load instructions
This patch adds shuffle mask decodes for integer zero extends (pmovzx** and movq xmm,xmm) and scalar float/double loads/moves (movss/movsd).
Also adds shuffle mask decodes for integer loads (movd/movq).
Differential Revision: http://reviews.llvm.org/D7228
llvm-svn: 227688
|
| |
|
|
| |
llvm-svn: 227374
|
| |
|
|
|
|
| |
Patch to provide shuffle decodes and asm comments for the SSE3/AVX1 movddup double duplication instructions.
llvm-svn: 226705
|