summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeGen/avx-cmp-builtins.c
Commit message (Collapse)AuthorAgeFilesLines
* Fix reliance on -flax-vector-conversions in AVX intrinsics headers andRichard Smith2019-09-171-2/+2
| | | | | | corresponding tests. llvm-svn: 372063
* [InstCombine] canonicalize select shuffles by commutingSanjay Patel2019-03-311-4/+4
| | | | | | | | | | | | | | | | | | | | In PR41304: https://bugs.llvm.org/show_bug.cgi?id=41304 ...we have a case where we want to fold a binop of select-shuffle (blended) values. Rather than try to match commuted variants of the pattern, we can canonicalize the shuffles and check for mask equality with commuted operands. We don't produce arbitrary shuffle masks in instcombine, but select-shuffles are a special case that the backend is required to handle because we already canonicalize vector select to this shuffle form. So there should be no codegen difference from this change. It's possible that this improves CSE in IR though. Differential Revision: https://reviews.llvm.org/D60016 llvm-svn: 357366
* [X86] Lower _mm[256|512]_cmp[.]_mask intrinsics to native llvm IRGabor Buella2018-06-221-24/+0
| | | | | | | | | | | | | | | | | | | | | | | | Summary: Lowering some vector comparision builtins to fcmp IR instructions. This ignores the signaling behaviour specified in the predicate argument of said builtins. Affected AVX512 builtins: __builtin_ia32_cmpps128_mask __builtin_ia32_cmpps256_mask __builtin_ia32_cmpps512_mask __builtin_ia32_cmppd128_mask __builtin_ia32_cmppd256_mask __builtin_ia32_cmppd512_mask Reviewers: craig.topper, uriel.k, RKSimon, andrew.w.kaylor, spatel, scanon, efriedma Reviewed By: craig.topper, spatel, efriedma Differential Revision: https://reviews.llvm.org/D45616 llvm-svn: 335339
* [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
* Canonicalize some of the x86 builtin tests and either remove or commentEric Christopher2015-10-141-0/+1
| | | | | | about optimization options. llvm-svn: 250271
* X86 intrinsics: cmpge|gt|nge|ngt_ss|_sdManman Ren2013-06-171-0/+48
| | | | | | | | | | | | | These intrinsics should return the comparision result in the low bits and keep the high bits of the first source operand. When calling to builtin functions, the source operands are swapped and the high bits of the second source operand are kept. To fix the issue, an extra shufflevector is used. rdar://14153896 llvm-svn: 184110
* Test case for some AVX builtins. Patch by Syoyo Fujita!John McCall2011-06-031-0/+46
| | | | llvm-svn: 132518
* I can't figure out any reasonable way to make this test non-host-dependent,John McCall2011-04-061-47/+0
| | | | | | so I'm killing it. llvm-svn: 129026
* Make this a -cc1 test with a triple and a target feature.John McCall2011-04-061-1/+1
| | | | llvm-svn: 128993
* Anonymify this test.John McCall2011-04-061-6/+6
| | | | llvm-svn: 128987
* Implement the AVX cmp builtins as macros instead of static inlines.John McCall2011-04-061-0/+47
Patch by Syoyo Fujita! Reviewed by Chris Lattner! Checked in by me! llvm-svn: 128984
OpenPOWER on IntegriCloud