- Jan 17, 2014
-
-
Daniel Sanders authored
IIImul -> II_MUL IIImult -> II_MULT, II_MULTU, II_MADD, II_MADDU, II_MSUB, II_MSUBU, II_DMULT, II_DMULTU No functional change since the InstrItinData's have been duplicated. llvm-svn: 199495
-
Daniel Sanders authored
No functional change since the InstrItinData's have been duplicated. llvm-svn: 199493
-
Renato Golin authored
Fix MLA defs to use register class GPRnopc. Add encoding tests for multiply instructions. (Alias for MUL/SMLAL/UMLAL added by r199026.) Patch by Zhaoshi. llvm-svn: 199491
-
Kevin Qin authored
llvm-svn: 199485
-
Craig Topper authored
Switch a few instructions to use RI instead I so they don't require REX_W to be explicitly specified. llvm-svn: 199479
-
Craig Topper authored
llvm-svn: 199478
-
Craig Topper authored
llvm-svn: 199477
-
Craig Topper authored
llvm-svn: 199476
-
Craig Topper authored
llvm-svn: 199474
-
Craig Topper authored
VEX_PREFIX_66 doesn't need to set the hasOpSize flag since VEX instructions don't use the size fields it controls. llvm-svn: 199470
-
Craig Topper authored
llvm-svn: 199468
-
Hao Liu authored
Also add copy support for FPR16. Also add a missing test case file belongs to commit r197361. llvm-svn: 199463
-
Kevin Qin authored
[AArch64 NEON] Custom lower conversion between vector integer and vector floating point if element bit-width doesn't match. llvm-svn: 199462
-
Hao Liu authored
Also fix the problem can't select scalar_to_vector from f32 to v2f32/v4f32. llvm-svn: 199461
-
- Jan 16, 2014
-
-
Daniel Sanders authored
llvm-svn: 199403
-
Daniel Sanders authored
[mips][sched] Put AND, OR, XOR, MOVT_I, and MOVF_I in the same itinerary class as their non-microMIPS counterparts. No functional change since both classes have the same InstrItinData definition. llvm-svn: 199402
-
Rafael Espindola authored
llvm-svn: 199397
-
Daniel Sanders authored
No functional change since there are no InstrItinData's. llvm-svn: 199396
-
Daniel Sanders authored
This is necessary because the classes are shared between all implementations. No functional change since the InstrItinData's have been duplicated. llvm-svn: 199394
-
Daniel Sanders authored
IIArith -> II_ADD, II_ADDU, II_AND, II_CL[ZO], II_DADDIU, II_DADDU, II_DROTR, II_DROTR32, II_DROTRV, II_DSLL, II_DSLL32, II_DSLLV, II_DSR[AL], II_DSR[AL]32, II_DSR[AL]V, II_DSUBU, II_LUI, II_MOV[ZFNT], II_NOR, II_OR, II_RDHWR, II_ROTR, II_ROTRV, II_SLL, II_SLLV, II_SR[AL], II_SR[AL]V, II_SUBU, II_XOR No functional change since the InstrItinData's have been duplicated. This is necessary because the classes are shared between all schedulers. Once this patch series is committed there will be an InstrItinClass for each mnemonic with minimal grouping. This does increase the size of the itinerary tables for each MIPS scheduler but we have a few options for dealing with that later. These options include reducing the number of classes once we see the best way to simplify them, or by extending tablegen to be able to compress the table by eliminating duplicates entries, etc. llvm-svn: 199391
-
Daniel Sanders authored
This matches the itin class used by the non-microMIPS equivalents of these instructions. llvm-svn: 199389
-
Daniel Sanders authored
[mips] IIImult should have an InstrItinData in the generic scheduler. Used the same one as for IIImul. Affects: DMULT, DMULTu, MADD, MADD_MM, MADDU, MADDU_MM, MSUB, MSUB_MM, MSUBU, MSUBU_MM, MULT, MULTu Does not affect MULT_MM, MULTu_MM since they are currently miscategorised as IIImul. llvm-svn: 199381
-
Jiangning Liu authored
llvm-svn: 199369
-
Elena Demikhovsky authored
llvm-svn: 199366
-
Craig Topper authored
llvm-svn: 199365
-
Craig Topper authored
Allow x86 mov instructions to/from memory with absolute address to be encoded and disassembled with a segment override prefix. Fixes PR16962. llvm-svn: 199364
-
Rafael Espindola authored
llvm-svn: 199357
-
Craig Topper authored
Remove use of OpSize for populating VEX_PP field. A prefix encoding is now used instead. Simplify some other code. No functional changes intended. llvm-svn: 199353
-
Reed Kotler authored
than it needs to be by 1 bit but I need to finish some other things so that all the boundary cases will work in that situation. constpool.c in test-suite will fail to assemble under our new internal test-suite sync without this change. llvm-svn: 199343
-
- Jan 15, 2014
-
-
rdar://problem/12478440Bob Wilson authored
This was never used for anything so we should just get rid of it. llvm-svn: 199337
-
Kevin Enderby authored
the | and & bitwise operators. rdar://15570412 llvm-svn: 199323
-
Zoran Jovanovic authored
llvm-svn: 199316
-
Zoran Jovanovic authored
llvm-svn: 199315
-
David Majnemer authored
MSVC on x64 requires that we create image relative symbol references to refer to RTTI data. Seeing as how there is no way to explicitly make reference to a given relocation type in LLVM IR, pattern match expressions of the form &foo - &__ImageBase. Differential Revision: http://llvm-reviews.chandlerc.com/D2523 llvm-svn: 199312
-
Elena Demikhovsky authored
llvm-svn: 199301
-
Craig Topper authored
Add OpSize16 to the two byte forms of INC/DEC that we only use in 64-bit mode and a 64-bit only LEA. Even though we'll not be in 16-bit mode when we use them it makes their tables consistent with their 32-bit counterparts. llvm-svn: 199297
-
Jiangning Liu authored
llvm-svn: 199296
-
Rafael Espindola authored
llvm-svn: 199288
-
Rafael Espindola authored
The GNU as behavior is a bit different and very strange. It will mark any label that contains an instruction. We can implement that, but using the type looks more natural since gas will not mark a function if a .word is used to output the instructions! llvm-svn: 199287
-
Weiming Zhao authored
When expanding neon pseudo stores, it may miss the implicit uses of sub regs, which may cause post RA scheduler reorder instructions that breakes anti dependency. For example: VST1d64QPseudo %R0<kill>, 16, %Q9_Q10, pred:14, pred:%noreg will be expanded to VST1d64Q %R0<kill>, 16, %D18, pred:14, pred:%noreg; An instruction that defines %D20 may be scheduled before the store by mistake. This patches adds implicit uses for such case. For the example above, it emits: VST1d64Q %R0<kill>, 8, %D18, pred:14, pred:%noreg, %Q9_Q10<imp-use> llvm-svn: 199282
-