- Aug 26, 2013
-
-
Craig Topper authored
First round of fixes for the x86 fixes for the x86 move accumulator from/to memory offset instructions. -Assembly parser now properly check the size of the memory operation specified in intel syntax. So 'mov word ptr [5], al' is no longer accepted. -x86-32 disassembly of these instructions no longer sign extends the 32-bit address immediate based on size. -Intel syntax printing prints the ptr size and places brackets around the address immediate. Known remaining issues with these instructions: -Segment override prefix is not supported. PR16962 and PR16961. -Immediate size should be changed by address size prefix. llvm-svn: 189201
-
- Aug 25, 2013
-
-
Elena Demikhovsky authored
llvm-svn: 189189
-
- Aug 24, 2013
-
-
Craig Topper authored
Add hasSideEffects/mayLoad/mayStore flags to the X86 moffs8/moffs16/moffs32/moffs64 versions of move. llvm-svn: 189182
-
Craig Topper authored
llvm-svn: 189178
-
- Aug 23, 2013
-
-
Rafael Espindola authored
There is no advantage in being different and using the same names simplifies clang a bit. llvm-svn: 189141
-
Jim Cownie authored
llvm-svn: 189111
-
- Aug 22, 2013
-
-
Elena Demikhovsky authored
llvm-svn: 189005
-
- Aug 21, 2013
-
-
Elena Demikhovsky authored
llvm-svn: 188899
-
Craig Topper authored
Synchronize VEX JIT encoding code with the MCJIT version. Fix a bug in the MCJIT code where CurOp was being incremented even if the operand it was pointing at wasn't used. Maybe only matters if there are any EVEX_K instructions that aren't VEX_4V. llvm-svn: 188868
-
Nadav Rotem authored
In LLVM FMA3 operands are dst, src1, src2, src3, however dst is not encoded as it is always src1. This was causing the encoding of the operands to be off by one. Patch by Chris Bieneman. llvm-svn: 188866
-
Craig Topper authored
Rename mattr names for AVX-512 to from avx-512 -> avx512f, avx-512-pfi -> av512pf, avx-512-cdi -> avx512cd, avx-512-eri->avx512er. This matches better with official docs and what gcc patches appearto be using. I didn't touch the has* functions or the feature flag names to avoid change the td and lowering file while commits are still happening. llvm-svn: 188859
-
NAKAMURA Takumi authored
I suppose all "lli -use-mcjit i686-*" should require GOT, (and to fail.) llvm-svn: 188856
-
- Aug 20, 2013
-
-
Elena Demikhovsky authored
llvm-svn: 188786
-
Craig Topper authored
llvm-svn: 188746
-
Craig Topper authored
llvm-svn: 188745
-
Craig Topper authored
Move AVX and non-AVX replication inside a couple multiclasses to avoid repeating each instruction for both individually. llvm-svn: 188743
-
- Aug 19, 2013
-
-
Elena Demikhovsky authored
ADD, SUB, MUL integer and FP types. OR, AND, XOR. Added embeded broadcast form for these instructions. llvm-svn: 188673
-
- Aug 18, 2013
-
-
Elena Demikhovsky authored
llvm-svn: 188637
-
Craig Topper authored
llvm-svn: 188629
-
- Aug 16, 2013
-
-
Craig Topper authored
llvm-svn: 188534
-
- Aug 15, 2013
-
-
Bill Wendling authored
llvm-svn: 188469
-
Craig Topper authored
Revert r188449 as it turns out we're just missing the instructions that need the v16i32/v16f32 matching. llvm-svn: 188454
-
Craig Topper authored
Don't let isPermImmMask handle v16i32 since VPERMI doesn't match on that type. Remove 128-bit vector handling from isPermImmMask too, it's covered by isPSHUFDMask. llvm-svn: 188449
-
Craig Topper authored
llvm-svn: 188446
-
Craig Topper authored
llvm-svn: 188445
-
Craig Topper authored
Replace getValueType().getSimpleVT() with getSimpleValueType(). Also remove one weird cast from MVT->EVT just to call getSimpleVT(). llvm-svn: 188441
-
- Aug 14, 2013
-
-
Craig Topper authored
llvm-svn: 188366
-
Craig Topper authored
llvm-svn: 188365
-
Craig Topper authored
llvm-svn: 188364
-
Craig Topper authored
llvm-svn: 188363
-
Craig Topper authored
Replace EVT with MVT in isVectorShift. Keeps compiler from generating unneeded checks and handling for extended types. llvm-svn: 188362
-
Craig Topper authored
Replace EVT with MVT in many of the shuffle lowering functions. Keeps compiler from generating unneeded checks and handling for extended types. llvm-svn: 188361
-
- Aug 13, 2013
-
-
Evgeniy Stepanov authored
../lib/Target/X86/X86ISelLowering.cpp:9715:7: error: unused variable 'OpVT' [-Werror,-Wunused-variable] EVT OpVT = Op0.getValueType(); ^ ../lib/Target/X86/X86ISelLowering.cpp:9763:14: error: unused variable 'NumElems' [-Werror,-Wunused-variable] unsigned NumElems = VT.getVectorNumElements(); llvm-svn: 188269
-
Elena Demikhovsky authored
Lowering for SETCC. llvm-svn: 188265
-
Kevin Enderby authored
undefined and produce an error message instead as this is a non-relocatable expression with X86 Mach-O. rdar://8920876 llvm-svn: 188218
-
- Aug 11, 2013
-
-
Elena Demikhovsky authored
llvm-svn: 188148
-
Elena Demikhovsky authored
Added a test for shuffles using VPERM. llvm-svn: 188147
-
- Aug 09, 2013
-
-
Benjamin Kramer authored
Use it to avoid repeating ourselves too often. Also store MVT::SimpleValueType in the TTI tables so they can be statically initialized, MVT's constructors create bloated initialization code otherwise. llvm-svn: 188095
-
Michael J. Spencer authored
* ELFTypes.h contains template magic for defining types based on endianess, size, and alignment. * ELFFile.h defines the ELFFile class which provides low level ELF specific access. * ELFObjectFile.h contains ELFObjectFile which uses ELFFile to implement the ObjectFile interface. llvm-svn: 188022
-
- Aug 08, 2013
-
-
Jakub Staszak authored
llvm-svn: 187986
-