- Jul 22, 2011
-
-
Jim Grosbach authored
Add two-operand instruction aliases. Add parsing and encoding tests for variants of the instruction. llvm-svn: 135713
-
Jim Grosbach authored
Add two-operand instruction aliases. Add parsing and encoding tests for variants of the instruction. llvm-svn: 135712
-
Jim Grosbach authored
llvm-svn: 135710
-
Jim Grosbach authored
llvm-svn: 135709
-
- Jul 21, 2011
-
-
Jim Grosbach authored
llvm-svn: 135706
-
Nicolas Geoffray authored
llvm-svn: 135704
-
Jim Grosbach authored
Aliases for LDM/STM. The single-register versions should encode to LDR/STR with writeback, but we don't (yet) get that correct. Neither does Darwin's system assembler, though, so that's not a deal-breaker of a limitation. llvm-svn: 135702
-
Oscar Fuentes authored
llvm-svn: 135698
-
Jim Grosbach authored
llvm-svn: 135696
-
Owen Anderson authored
Split up the ARM so_reg ComplexPattern into so_reg_reg and so_reg_imm, allowing us to distinguish the encodings that use shifted registers from those that use shifted immediates. This is necessary to allow the fixed-length decoder to distinguish things like BICS vs LDRH. llvm-svn: 135693
-
Andrew Trick authored
llvm-svn: 135684
-
Benjamin Kramer authored
llvm-svn: 135683
-
Jim Grosbach authored
llvm-svn: 135682
-
Bruno Cardoso Lopes authored
Stefanovic. I removed the part that actually emits the instructions cause I want that to get in better shape first and in incremental steps. This also makes it easier to review the upcoming parts. llvm-svn: 135678
-
Jay Foad authored
llvm-svn: 135676
-
Jay Foad authored
llvm-svn: 135674
-
Jay Foad authored
ConstantExpr::getInBoundsGetElementPtr to use ArrayRef. llvm-svn: 135673
-
Jay Foad authored
to use ArrayRef. llvm-svn: 135672
-
Jay Foad authored
llvm-svn: 135671
-
Chris Lattner authored
to for it to be an an anon namespace and be in a header. Eliminate some extraenous uses of tie. llvm-svn: 135669
-
Bruno Cardoso Lopes authored
- Add more bitcasts for v16i16 - Since 135661 and 135662 already added the splat logic, just add one more splat test for v16i16 llvm-svn: 135663
-
Bruno Cardoso Lopes authored
instruction introduced in AVX, which can operate on 128 and 256-bit vectors. It considers a 256-bit vector as two independent 128-bit lanes. It can permute any 32 or 64 elements inside a lane, and restricts the second lane to have the same permutation of the first one. With the improved splat support introduced early today, adding codegen for this instruction enable more efficient 256-bit code: Instead of: vextractf128 $0, %ymm0, %xmm0 punpcklbw %xmm0, %xmm0 punpckhbw %xmm0, %xmm0 vinsertf128 $0, %xmm0, %ymm0, %ymm1 vinsertf128 $1, %xmm0, %ymm1, %ymm0 vextractf128 $1, %ymm0, %xmm1 shufps $1, %xmm1, %xmm1 movss %xmm1, 28(%rsp) movss %xmm1, 24(%rsp) movss %xmm1, 20(%rsp) movss %xmm1, 16(%rsp) vextractf128 $0, %ymm0, %xmm0 shufps $1, %xmm0, %xmm0 movss %xmm0, 12(%rsp) movss %xmm0, 8(%rsp) movss %xmm0, 4(%rsp) movss %xmm0, (%rsp) vmovaps (%rsp), %ymm0 We get: vextractf128 $0, %ymm0, %xmm0 punpcklbw %xmm0, %xmm0 punpckhbw %xmm0, %xmm0 vinsertf128 $0, %xmm0, %ymm0, %ymm1 vinsertf128 $1, %xmm0, %ymm1, %ymm0 vpermilps $85, %ymm0, %ymm0 llvm-svn: 135662
-
Bruno Cardoso Lopes authored
refactor the code and add a bunch of comments. The final shuffle emitted by handling 256-bit types is suitable for the VPERM shuffle instruction which is going to be introduced in a next commit (with a testcase which cover this commit) llvm-svn: 135661
-
Bruno Cardoso Lopes authored
llvm-svn: 135660
-
Bruno Cardoso Lopes authored
llvm-svn: 135659
-
Bruno Cardoso Lopes authored
llvm-svn: 135658
-
Bruno Cardoso Lopes authored
llvm-svn: 135657
-
Bruno Cardoso Lopes authored
llvm-svn: 135656
-
-
Andrew Trick authored
rdar://9786536 llvm-svn: 135650
-
Bill Wendling authored
llvm-svn: 135645
-
Andrew Trick authored
rdar://9786536 llvm-svn: 135644
-
Evan Cheng authored
X86 is the only target that uses coff format. This should fixes test failures running on Windows, Cygwin, or MingW hosts. llvm-svn: 135639
-
NAKAMURA Takumi authored
llvm-svn: 135637
-
Evan Cheng authored
Sink ARMMCExpr and ARMAddressingModes into MC layer. First step to separate ARM MC code from target. llvm-svn: 135636
-
Bill Wendling authored
llvm-svn: 135635
-
Bill Wendling authored
llvm-svn: 135634
-
Devang Patel authored
llvm-svn: 135633
-
NAKAMURA Takumi authored
llvm-svn: 135632
-
Devang Patel authored
There are two ways to map a variable to its lexical scope. Lexical scope information is embedded in MDNode describing the variable. It is also available as a part of DebugLoc attached with DBG_VALUE instruction. DebugLoc attached with an instruction is less reliable in optimized code so use information embedded in the MDNode. llvm-svn: 135629
-