summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeGen/bmi-builtins.c
Commit message (Collapse)AuthorAgeFilesLines
* [X86] Always define the tzcnt intrinsics even when _MSC_VER is defined.Craig Topper2019-10-111-45/+51
| | | | | | | | | | | | These intrinsics use llvm.cttz intrinsics so are always available even without the bmi feature. We already don't check for the bmi feature on the intrinsics themselves. But we were blocking the include of the header file with _MSC_VER unless BMI was enabled on the command line. Fixes PR30506. llvm-svn: 374516
* [X86] Add guards to some of the x86 intrinsic tests to skip 64-bit mode only ↵Craig Topper2019-07-101-0/+4
| | | | | | | | | | intrinsics when compiled for 32-bit mode. All the command lines are for 64-bit mode, but sometimes I compile the tests in 32-bit mode to see what assembly we get and we need to skip these to do that. llvm-svn: 365668
* [X86] For lzcnt/tzcnt intrinsics use cttz/ctlz intrinsics with zero_undef ↵Craig Topper2018-09-261-18/+8
| | | | | | | | | | | | flag set to false. Previously we used a select and the zero_undef=true intrinsic. In -O2 this pattern will get optimized to zero_undef=false. But in -O0 this optimization won't happen. This results in a compare and cmov being wrapped around a tzcnt/lzcnt instruction. By using the zero_undef=false intrinsic directly without the select, we can improve the -O0 codegen to just an lzcnt/tzcnt instruction. Differential Revision: https://reviews.llvm.org/D52392 llvm-svn: 343126
* [X86] NFC Include immintrin.h in CodeGen testsGabor Buella2018-05-241-1/+1
| | | | | | | Following r333110: "Move all Intel defined intrinsic includes into immintrin.h" llvm-svn: 333160
* [X86] Remove the mm_malloc.h include guard hack from the X86 builtins testsElad Cohen2016-09-281-3/+1
| | | | | | | | | | | | The X86 clang/test/CodeGen/*builtins.c tests define the mm_malloc.h include guard as a hack for avoiding its inclusion (mm_malloc.h requires a hosted environment since it expects stdlib.h to be available - which is not the case in these internal clang codegen tests). This patch removes this hack and instead passes -ffreestanding to clang cc1. Differential Revision: https://reviews.llvm.org/D24825 llvm-svn: 282581
* After PR28761 use -Wall with -Werror in builtins tests to identifyEric Christopher2016-08-041-1/+1
| | | | | | possible problems in headers. llvm-svn: 277696
* [Clang][bmi][intrinsics] Adding _mm_tzcnt_64 _mm_tzcnt_32 intrinsics to clang.Michael Zuckerman2016-06-221-0/+14
| | | | | | Differential Revision: http://reviews.llvm.org/D21373 llvm-svn: 273401
* [X86][BMI] Improved bmi intrinsics checks Simon Pilgrim2016-06-111-49/+94
| | | | | | Ready for matching with llvm/test/CodeGen/X86/bmi-intrinsics-fast-isel.ll (to be added shortly) llvm-svn: 272490
* Revert "[Reassociate] Update test cases due to r222142."Chad Rosier2014-11-191-4/+4
| | | | | | | | | This reverts commit r222144. Commit r222142 is being reverted due to a spec2006/gcc execution-time regression. Update mips-varargs test as well. llvm-svn: 222397
* [Reassociate] Update test cases due to r222142.Chad Rosier2014-11-171-4/+4
| | | | llvm-svn: 222144
* added Intel's BMI intrinsic variants Sanjay Patel2014-05-281-1/+86
| | | | | | (fixes PR19431 - http://llvm.org/bugs/show_bug.cgi?id=19431) llvm-svn: 209769
* Rename tzcnt intrinsics to match gcc.Craig Topper2012-07-021-6/+6
| | | | llvm-svn: 159515
* Change LZCNT and BMI tests to check IR instead of X86 assembly.Craig Topper2011-12-251-14/+22
| | | | llvm-svn: 147267
* Add the rest of the BMI intrinsics.Craig Topper2011-12-251-6/+53
| | | | llvm-svn: 147265
* Add intrinsics for lzcnt and tzcnt instructions.Craig Topper2011-12-251-0/+24
llvm-svn: 147263
OpenPOWER on IntegriCloud