- Mar 30, 2010
-
-
Mon P Wang authored
e.g., llvm.memcpy.i32(i8*, i8*, i32, i32) -> llvm.memcpy.p0i8.p0i8.i32(i8*, i8*, i32, i32, i1) A update of langref will occur in a subsequent checkin. llvm-svn: 99928
-
Chris Lattner authored
create symbols. It is extremely error prone and a source of a lot of the remaining integrated assembler bugs on x86-64. This fixes rdar://7807601. llvm-svn: 99902
-
- Mar 29, 2010
-
-
Chris Lattner authored
llvm-svn: 99815
-
Johnny Chen authored
These instructions use byte index in a control vector (M:Vm) to lookup byte values in a table and generate a new vector (D:Vd). The table is specified via a list of vectors, which can be: {Dn} {Dn D<n+1>} {Dn D<n+1> D<n+2>} {Dn D<n+1> D<n+2> D<n+3>} llvm-svn: 99789
-
- Mar 28, 2010
-
-
Chris Lattner authored
this also depends on the new "bitconvert dropping" behavior just added to tblgen. llvm-svn: 99757
-
Chris Lattner authored
input to be v8i8 or v16i8, which buildvectors get canonicalized to. This allows the patterns that were previously using a bare 'vnot' to match, before they couldn't. llvm-svn: 99754
-
- Mar 27, 2010
-
-
Bob Wilson authored
llvm-svn: 99705
-
Bob Wilson authored
llvm-svn: 99704
-
Johnny Chen authored
it as the format for the appropriate N3V*SL*<> classes. These instructions require special handling of the M:Vm field which encodes the restricted Dm and the lane index within Dm. Examples are A8.6.325 VMLA, VMLAL, VMLS, VMLSL (by scalar): vmlal.s32 q3, d2, d10[0] llvm-svn: 99690
-
Jim Grosbach authored
through to the generic version. The generic functions use STR/LDR, but T2 needs the t2STR/t2LDR instead so we get the addressing mode correct. llvm-svn: 99678
-
Johnny Chen authored
to now take a format argument. N3VDInt<> and N3VQInt<> are modified to take a format argument as well. llvm-svn: 99676
-
- Mar 26, 2010
-
-
Johnny Chen authored
to encode the byte location of the extracted result in the concatenation of the operands, from the least significant end. Modify VEXTd and VEXTq classes to use the format. llvm-svn: 99659
-
Johnny Chen authored
follow the N3RegFrm's operand order of D:Vd N:Vn M:Vm. The operand order of N3RegVShFrm is D:Vd M:Vm N:Vn (notice that M:Vm is the first src operand). Add a parent class N3Vf which requires passing a Format argument and which the N3V class is modified to inherit from. N3V class represents the "normal" 3-Register NEON Instructions with N3RegFrm. Also add a multiclass N3VSh_QHSD to represent clusters of NEON 3-Register Shift Instructions and replace 8 invocations with it. llvm-svn: 99655
-
Jim Grosbach authored
Radar 7797856 llvm-svn: 99630
-
Johnny Chen authored
Examples are VABA (Vector Absolute Difference and Accumulate), VABAL (Vector Absolute Difference and Accumulate Long), and VABD (Vector Absolute Difference). llvm-svn: 99628
-
Johnny Chen authored
dispatch to the appropriate routines to handle the different interpretations of the shift amount encoded in the imm6 field. The Vd, Vm fields are interpreted the same between the two, though. See, for example, A8.6.367 VQSHL, VQSHLU (immediate) for N2RegVShLFrm format and A8.6.368 VQSHRN, VQSHRUN for N2RegVShRFrm format. llvm-svn: 99590
-
Jim Grosbach authored
Re-commit. This time complete with testsuite updates. llvm-svn: 99570
-
Jim Grosbach authored
llvm-svn: 99569
-
Jim Grosbach authored
llvm-svn: 99568
-
Johnny Chen authored
It doesn't seem to be used anywhere. llvm-svn: 99566
-
Jim Grosbach authored
llvm-svn: 99565
-
- Mar 25, 2010
-
-
Johnny Chen authored
llvm-svn: 99557
-
Jim Grosbach authored
llvm-svn: 99549
-
Johnny Chen authored
expect a Format arg. N2VCvtD/N2VCvtQ are modified to use the NVCVTFrm format. llvm-svn: 99548
-
Johnny Chen authored
instead of the current N2V. Format of NVDupLane instances are set to NEONFrm currently. llvm-svn: 99518
-
- Mar 24, 2010
-
-
Jim Grosbach authored
Preliminary testing shows significant performance wins by not using these instructions. llvm-svn: 99436
-
Johnny Chen authored
llvm-svn: 99428
-
Johnny Chen authored
NVCVTFrm will later be used to describe "vcvt with fractional bits". llvm-svn: 99415
-
Johnny Chen authored
N3VX instructions using special case code. llvm-svn: 99409
-
Jim Grosbach authored
llvm-svn: 99402
-
Johnny Chen authored
llvm-svn: 99376
-
Johnny Chen authored
respectively, and add some more comment. llvm-svn: 99373
-
Jim Grosbach authored
test run permformance numbers say as to whether it helps. llvm-svn: 99355
-
Johnny Chen authored
llvm-svn: 99344
-
- Mar 23, 2010
-
-
Johnny Chen authored
llvm-svn: 99328
-
Johnny Chen authored
llvm-svn: 99327
-
Johnny Chen authored
Converted some of the NEON vcvt instructions to this format. llvm-svn: 99326
-
Johnny Chen authored
llvm-svn: 99322
-
Bob Wilson authored
These instructions are only needed for codegen, so I've removed all the explicit encoding bits for now; they should be set in the same way as the for VLDMD and VSTMD whenever we add encodings for VFP. The use of addrmode5 requires that the instructions be custom-selected so that the number of registers can be set in the AM5Opc value. llvm-svn: 99309
-
Bob Wilson authored
llvm-svn: 99295
-