aboutsummaryrefslogtreecommitdiff
path: root/test/CodeGen/X86/avx-intrinsics-x86.ll
AgeCommit message (Collapse)Author
2012-01-01Allow CRC32 instructions to be selected when AVX is enabled.Craig Topper
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147411 91177308-0d34-0410-b5e6-96231b3b80d8
2012-01-01Fix sfence, lfence, mfence, and clflush to be able to be selected when AVX ↵Craig Topper
is enabled. Fix monitor and mwait to require SSE3 or AVX, previously they worked even if SSE3 was disabled. Make prefetch instructions not set the execution domain since they don't use XMM registers. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147409 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-06Fix a bunch of SSE/AVX patterns to use v2i64/v4i64 loads since all other ↵Craig Topper
integer vector loads are promoted to those. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145927 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-29Fix VINSERTF128/VEXTRACTF128 to be marked as FP instructions. Allow ↵Craig Topper
execution dependency fix pass to convert them to their integer equivalents when AVX2 is enabled. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145376 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-27remove some old autoupgrade logicChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145167 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-15Properly qualify AVX2 specific parts of execution dependency table. Also ↵Craig Topper
enable converting between 256-bit PS/PD operations when AVX1 is enabled. Fixes PR11370. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144622 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-07Kill and collapse outstanding DomainValues.Jakob Stoklund Olesen
DomainValues that are only used by "don't care" instructions are now collapsed to the first possible execution domain after all basic blocks have been processed. This typically means the PS domain on x86. For example, the vsel_i64 and vsel_double functions in sse2-blend.ll are completely collapsed to the PS domain instead of containing a mix of execution domains created by isel. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144037 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-03Add new X86 AVX2 VBROADCAST instructions.Craig Topper
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143612 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-01Fix operand type for x86 pmadd_ub_sw intrinsic.Craig Topper
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143455 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-31Fix operand type for int_x86_ssse3_phadd_sw_128 intrinsicCraig Topper
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143336 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-30Fix return type for X86 mpsadbw instrinsic. The instruction takes in a ↵Craig Topper
vector of 8-bit integers, but produces a vector of 16-bit integers. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143313 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-14As Dan pointed out, movzbl, movsbl, and friends are nicer than their aliasBill Wendling
(movzx/movsx) because they give more information. Revert that part of the patch. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129498 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-14Have the X86 back-end emit the alias instead of what's being aliased. In mostBill Wendling
cases, it's much nicer and more informative reading the alias. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129497 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-13Reapply r129401 with patch for clang.Bill Wendling
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129419 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-12Revert r129401 for now. Clang is using the old way of doing things.Bill Wendling
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129403 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-12Remove the unaligned load intrinsics in favor of using native unaligned loads.Bill Wendling
Now that we have a first-class way to represent unaligned loads, the unaligned load intrinsics are superfluous. First part of <rdar://problem/8460511>. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129401 91177308-0d34-0410-b5e6-96231b3b80d8
2010-12-19improve the setcc -> setcc_carry optimization to happen moreChris Lattner
consistently by moving it out of lowering into dag combine. Add some missing patterns for matching away extended versions of setcc_c. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122201 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-28Fix pastos in handling of AVX cvttsd2si, PR8491.Dale Johannesen
Bruno, please review, but I'm pretty sure this is right. Patch by Alex Mac! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117514 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-03Remove the rest of the nonexistent 64-bit AVX instructions.Dale Johannesen
Bruno, please review. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113014 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-03AVX doesn't support mm operations neither its instrinsics.Bruno Cardoso Lopes
The AVX versions of PALIGN and PABS* should only exist for 128-bit. Remove the unnecessary stuff. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112944 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-11Add testcases for all AVX 256-bit intrinsics added in the last couple daysBruno Cardoso Lopes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110854 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-11Reapply r109881 using a more strict command line for llc.Bruno Cardoso Lopes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110833 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-31Revert new AVX intrinsic tests. They are breaking buildbots and Bruno isBob Wilson
away from a computer now. --- Reverse-merging r109881 into '.': D test/CodeGen/X86/avx-intrinsics-x86.ll D test/CodeGen/X86/avx-intrinsics-x86_64.ll git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109959 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-30A *bunch* of tests for AVX intrinsicsBruno Cardoso Lopes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109881 91177308-0d34-0410-b5e6-96231b3b80d8