aboutsummaryrefslogtreecommitdiff
path: root/utils/TableGen/NeonEmitter.cpp
AgeCommit message (Collapse)Author
2010-11-16Tidy up some things in <arm_neon.h>.Bob Wilson
Stop defining types with "__neon_" prefixes and then using typedefs without the prefix; there's no reason to do that anymore. Remove types that combine multiple Neon vectors and treat them as a single long vector; they are not used. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119369 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-16Reapply "Stop using struct wrappers for Neon vector types in <arm_neon.h>."Bob Wilson
I've temporarily disabled the failing clang test. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119367 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-16Revert "Stop using struct wrappers for Neon vector types in <arm_neon.h>."Bob Wilson
It's breaking buildbots. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119363 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-16Stop using struct wrappers for Neon vector types in <arm_neon.h>.Bob Wilson
Thanks to Nate Begeman for an earlier version of this patch. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119358 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-23Revert r114596, it's breaking a few tests.Nate Begeman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114659 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-22<rdar://problem/8228022> Wvector-conversions warnings in arm_neon.hNate Begeman
Explicitly cast arguments to the type the builtin expects, which is <vN x i8> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114596 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-15Use float64 instead of int64 vector elements for NEON vget_low and vget_highBob Wilson
functions, since int64 is not a legal type and using it leads to inefficient code. PR8036. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113919 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-14Tidy whitespace in generated arm_neon.h.Bob Wilson
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113865 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-06Add tablegen support for vdup_laneNate Begeman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110419 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-28Fix a warning from gcc-4.0 (from the ppc buildbot).Bob Wilson
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109605 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-24Change array references to match my previous change to use the public typeBob Wilson
names for the array fields. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106803 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-24Fix up some comments.Bob Wilson
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106795 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-24Use the struct tags mandated by ARM's ABI. Also use the public type names forBob Wilson
the array fields in these structs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106794 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-20Add support for returning multiple vectors via sret, which is how the ARM ↵Nate Begeman
target expects the intrinsics to work. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106406 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-17Modify tablegen to support generating all NEON code used by clang at once.Nate Begeman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106207 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-15Make VC++ happy Nate Begeman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106054 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-14Add the last of the SemaChecking-gen code.Nate Begeman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105929 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-13Add a helping of commentsNate Begeman
Add code for generating bits of semachecking git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105907 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-12declare a class with 'class' instead of struct to avoid tag mismatch Chris Lattner
warnings, and don't shift by a bool. Patch by Rizky Herucakra! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105886 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-12Add generic vector support for bitselect & element byteswapNate Begeman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105874 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-10Add support for polynomial type, for polynomial multiplyNate Begeman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105792 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-10NEON support for _lane ops, and multiplies by scalar.Nate Begeman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105769 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-09Further refine types for operations which take scalars.Nate Begeman
This will be used primarily by NEON shift intrinsics. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105733 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-09Specialize I-Class instructions better so that we have less work to do in ↵Nate Begeman
codegen. Parenthesize macro args git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105682 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-09Handle instructions which need to be #defines for the purpose of capturing ↵Nate Begeman
constant arguments Handle extract hi/lo with common code git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105666 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-08Fix a valgrind error.Nate Begeman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105600 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-08Refine BuiltinsARM.def types a bit, we should do a better job of this to ↵Nate Begeman
save some c++ code in CGBuiltins. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105598 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-08ARM NEON:Nate Begeman
fix vcvt naming handle vdup, vcombine with generic vector code git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105588 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-07clang codegen supportNate Begeman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105531 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-04Handle multi-vector returns and args.Nate Begeman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105496 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-04Additional fixes to BuiltinsARM.def generator, on to clang codegen.Nate Begeman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105488 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-04Progress on generating BuiltinsARM.def, still some duplicates to work out.Nate Begeman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105461 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-04BuiltinsARM.def emitter, still needs a substantial bit of tweaking to ↵Nate Begeman
lighten the load on clang. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105456 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-04Mangle __builtin_neon_* names appropriately.Nate Begeman
Add skeleton of support for emitting the list of prototypes for BuiltinsARM.def git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105443 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-03Add some additional capabilities to the neon emitterNate Begeman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105416 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-03arm_neon.h now makes it through clang and generates appropriate code for ↵Nate Begeman
those functions which can use generic vector operators rather than __builtin_neon_* git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105380 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-02arm_neon.h emitter now mostly complete for the purposes of initial testing.Nate Begeman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105349 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-02Pacify recent gcc: remove a pointless const qualifier.Duncan Sands
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105318 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-02Checkpoint; handle 'int' and 'void' correctlyNate Begeman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105316 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-02Emit full function prototypes. Definitions & typedefs to come.Nate Begeman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105315 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-02Checkpoint arm_neon.h generation with tablegenNate Begeman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105307 91177308-0d34-0410-b5e6-96231b3b80d8
2010-05-28Comment out some code in prep for actual .td file checkpoint.Nate Begeman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104927 91177308-0d34-0410-b5e6-96231b3b80d8
2010-05-28Add support to tablegen for auto-generating arm_neon.h from a tablegen ↵Nate Begeman
description of the intrinsics. The goal is to auto-generate both support for GCC-style (vector) and ARM-style (struct of vector) intrinsics. This is work in progress, but will be completed soon. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104910 91177308-0d34-0410-b5e6-96231b3b80d8