summaryrefslogtreecommitdiffstats
path: root/clang/utils/TableGen/NeonEmitter.cpp
Commit message (Collapse)AuthorAgeFilesLines
* [6/6] ARM Neon Intrinsic Tablegen Test Generator.Michael Gottesman2013-04-161-1/+462
| | | | | | | | | Added GenerateChecksForIntrinsic method to generate FileCheck patterns for generated arm neon tests. Reviewed by Bob Wilson. llvm-svn: 179644
* [5/6] ARM Neon Intrinsic Tablegen Test Generator.Michael Gottesman2013-04-161-1/+2
| | | | | | | | Changed the test generation target cpu type from cortex-a9 to swift. Reviewed by Bob Wilson. llvm-svn: 179642
* [4/6] ARM Neon Intrinsic Tablegen Test Generator.Michael Gottesman2013-04-161-3/+9
| | | | | | | | | Added code to NeonEmitter::runTests so that GenTest gets all of the needed arguments to invoke the neon test generation methods. Reviewed by Bob Wilson. llvm-svn: 179640
* [3/6] ARM Neon Intrinsic Tablegen Test Generator.Michael Gottesman2013-04-161-28/+44
| | | | | | | | | Refactored out the method InstructionTypeCode from MangleName for use in further patches which perform neon tablegen test generation. Reviewed by Bob Wilson. llvm-svn: 179636
* [2/6] ARM Neon Intrinsic Tablegen Test Generator.Michael Gottesman2013-04-161-1/+17
| | | | | | | | | | This patch causes OpInst records to be silently identified with their Non-Op inst counterparts so that the same test generation infrastructure can be used to generate tests. Reviewed by Bob Wilson. llvm-svn: 179628
* Define Neon intrinsics as "static inline" to avoid warning. rdar://13108414Bob Wilson2013-04-121-1/+1
| | | | | | | | | | | We had been defining Neon intrinsics as "static" with always_inline attributes. If you use them from an extern inline function, you get a warning, e.g.: static function 'vadd_u8' is used in an inline function with external linkage This change simply adds the inline keyword to avoid that warning. llvm-svn: 179406
* Don't throw exceptions in clang-tblgen by switching to PrintFatalError.Joerg Sonnenberger2012-10-251-13/+15
| | | | | | Add locations in a number of places, where they are available for free. llvm-svn: 166691
* Placate the mingw32 buildbot by suffixing 64-bit constants with ULL.Richard Smith2012-08-141-2/+2
| | | | llvm-svn: 161831
* Fix undefined behavior (and wrong code, as far as I can tell) in NEON builtinRichard Smith2012-08-141-3/+3
| | | | | | | | | tablegen code, found by -fcatch-undefined-behavior. I would appreciate if someone more familiar with the NEON code could point me in the direction of how to write a test for this. We appear to have essentially no test coverage whatsoever for these builtins. llvm-svn: 161827
* TableGen: Remove extraneous \ character from arm_neon.h definitions.Jim Grosbach2012-08-031-1/+1
| | | | llvm-svn: 161244
* Make clang-tblgen backends functions instead of TableGenBackends.Jakob Stoklund Olesen2012-06-131-3/+204
| | | | | | | | Get rid of a bunch of header files. TableGen output should be unaffected. Patch by Sean Silva! llvm-svn: 158388
* TableGen: Remove extraneous '\' at EOL in generated tests.Jim Grosbach2012-05-301-1/+1
| | | | llvm-svn: 157700
* ARM: Support marking intrinsic definitions as 'unavailable'Jim Grosbach2012-05-091-4/+8
| | | | llvm-svn: 156490
* Remove unreachable code in Clang. (replace with llvm_unreachable where ↵David Blaikie2012-01-171-11/+1
| | | | | | appropriate or when GCC requires it) llvm-svn: 148292
* Relax type checking for a few Neon intrinsics. <rdar://problem/10538555>Bob Wilson2011-12-201-0/+11
| | | | | | | | | | | | Not long ago, I tightened up the type checking for pointer arguments of Neon intrinsics to match the specifications provided by ARM. One consequence was that it became impossible to access the unaligned versions of a few Neon load/store operations. Since there are just a few of these intrinsics where it makes a difference, I think it's better to relax the type checking than to either introduce new non-standard unaligned intrinsics or to disallow intrinsics for the unaligned operations. llvm-svn: 146963
* Fix Neon builtin pointer argument checking for "sret" builtins.Bob Wilson2011-11-161-6/+24
| | | | | | | | | | | The code for checking Neon builtin pointer argument types was assuming that there would only be one pointer argument. But, for vld2-4 builtins, the first argument is a special sret pointer where the result will be stored. So, instead of scanning all the arguments to find a pointer, have TableGen figure out the index of the pointer argument that needs checking. That's better than scanning all the arguments regardless. <rdar://problem/10448804> llvm-svn: 144834
* Check pointer types for arguments of Neon load/store macros. rdar://9958031Bob Wilson2011-11-081-10/+18
| | | | | | | | | | | The Neon load/store intrinsics need to be implemented as macros to avoid hiding alignment attributes on the pointer arguments, and the macros can only evaluate those pointer arguments once (in case they have side effects), so it has been hard to get the right type checking for those pointers. I tried various alternatives in the arm_neon.h header, but it's much more straightforward to just check directly in Sema. llvm-svn: 144075
* Clean up type flags for overloaded Neon builtins. No functional change.Bob Wilson2011-11-081-13/+9
| | | | | | | | | This patch just adds a simple NeonTypeFlags class to replace the various hardcoded constants that had been used until now. Unfortunately I couldn't figure out a good way to avoid duplicating that class between clang and TableGen, but since it's small and rarely changes, that's not so bad. llvm-svn: 144054
* Add __nodebug__ attribute to functions in arm_neon.hBob Wilson2011-10-141-1/+1
| | | | | | This matches what we do for Intel vector intrinsics. <rdar://problem/10280207> llvm-svn: 141958
* Add the Clang tblgen backends to Clang, and flip the switch to causePeter Collingbourne2011-10-061-0/+1551
the build systems to use clang-tblgen. llvm-svn: 141291
OpenPOWER on IntegriCloud