- Oct 14, 2010
-
-
Bill Wendling authored
here. The f32 in FCONSTS is handled as a double instead of a float in the code. So the encoding of the immediate into the instruction isn't exactly in line with the documentation in that regard. But given that we know it's handled as a double, it doesn't cause any harm. llvm-svn: 116471
-
Bill Wendling authored
llvm-svn: 116466
-
Bill Wendling authored
- Add missing patterns for some multiply add/subtract instructions. - Add encodings for VMRS and VMSR. llvm-svn: 116464
-
- Oct 13, 2010
-
-
Bill Wendling authored
llvm-svn: 116431
-
Bill Wendling authored
just yet. llvm-svn: 116386
-
Bill Wendling authored
llvm-svn: 116385
-
Bill Wendling authored
llvm-svn: 116383
-
Bill Wendling authored
llvm-svn: 116379
-
Bill Wendling authored
llvm-svn: 116375
-
Bill Wendling authored
llvm-svn: 116370
-
Bill Wendling authored
to add 10+ lines to every instruction. It may turn out that we can move this base class into it's parent class. llvm-svn: 116362
-
Bill Wendling authored
Fear not! I'm going to try a refactoring right now. :) llvm-svn: 116359
-
Bill Wendling authored
llvm-svn: 116348
-
- Oct 12, 2010
-
-
Jim Grosbach authored
llvm-svn: 116338
-
- Oct 07, 2010
-
-
Evan Cheng authored
llvm-svn: 115898
-
- Sep 28, 2010
-
-
Eric Christopher authored
llvm-svn: 114931
-
- Sep 08, 2010
-
-
Jim Grosbach authored
llvm-svn: 113322
-
- Aug 28, 2010
-
-
Bob Wilson authored
all the other LDM/STM instructions. This fixes asm printer crashes when compiling with -O0. I've changed one of the NEON tests (vst3.ll) to run with -O0 to check this in the future. Prior to this change VLDM/VSTM used addressing mode #5, but not really. The offset field was used to hold a count of the number of registers being loaded or stored, and the AM5 opcode field was expanded to specify the IA or DB mode, instead of the standard ADD/SUB specifier. Much of the backend was not aware of these special cases. The crashes occured when rewriting a frameindex caused the AM5 offset field to be changed so that it did not have a valid submode. I don't know exactly what changed to expose this now. Maybe we've never done much with -O0 and NEON. Regardless, there's no longer any reason to keep a count of the VLDM/VSTM registers, so we can use addressing mode #4 and clean things up in a lot of places. llvm-svn: 112322
-
- Aug 11, 2010
-
-
Daniel Dunbar authored
for some reason they have a very odd MCInst form where the operands overlap, but I haven't dug in to find out why yet. llvm-svn: 110781
-
- Aug 03, 2010
-
-
Nate Begeman authored
Add support for using the FPSCR in conjunction with the vcvtr instruction, for controlling fp to int rounding. Add support for the FLT_ROUNDS_ node now that the FPSCR is exposed. llvm-svn: 110152
-
- Jun 02, 2010
-
-
Jim Grosbach authored
llvm-svn: 105350
-
- May 19, 2010
-
-
Evan Cheng authored
Mark pattern-less mayLoad / mayStore instructions neverHasSideEffects. These do not have other un-modeled side effects. llvm-svn: 104111
-
- May 13, 2010
-
-
Evan Cheng authored
llvm-svn: 103683
-
- Apr 07, 2010
-
-
Anton Korobeynikov authored
Define new itin classes for ARM <-> VFP reg moves to distinguish from NEON ops. Define proper scheduling itinerary for them on A9. A8 TRM does not specify latency for them at all :( llvm-svn: 100650
-
Anton Korobeynikov authored
llvm-svn: 100649
-
Anton Korobeynikov authored
llvm-svn: 100647
-
- Mar 24, 2010
-
-
Jim Grosbach authored
Preliminary testing shows significant performance wins by not using these instructions. llvm-svn: 99436
-
- Mar 20, 2010
-
-
Bob Wilson authored
--- Reverse-merging r98679 into 'lib/Target/ARM/ARMInstrVFP.td': U lib/Target/ARM/ARMInstrVFP.td llvm-svn: 99049
-
- Mar 19, 2010
-
-
Bob Wilson authored
--- Reverse-merging r98889 into '.': U lib/Target/ARM/ARMInstrNEON.td U lib/Target/ARM/ARMISelLowering.h U lib/Target/ARM/ARMInstrInfo.td U lib/Target/ARM/ARMInstrVFP.td U lib/Target/ARM/ARMISelLowering.cpp U lib/Target/ARM/ARMInstrFormats.td llvm-svn: 99010
-
- Mar 18, 2010
-
-
Anton Korobeynikov authored
llvm-svn: 98889
-
Anton Korobeynikov authored
llvm-svn: 98888
-
- Mar 16, 2010
-
-
Johnny Chen authored
This is for the disassembly work. There are cases where this is not possible, for example, A8.6.53 LDM Encoding T1. In such case, we'll use an adhoc approach to deduce the Opcode programmatically. llvm-svn: 98679
-
Bob Wilson authored
llvm-svn: 98648
-
- Mar 14, 2010
-
-
Anton Korobeynikov authored
llvm-svn: 98502
-
- Mar 13, 2010
-
-
Bob Wilson authored
base register updating load/store-multiple instructions. llvm-svn: 98427
-
Bob Wilson authored
writebacks to the address register. This gets rid of the hack that the first register on the list was the magic writeback register operand. There was an implicit constraint that if that operand was not reg0 it had to match the base register operand. The post-RA scheduler's antidependency breaker did not understand that constraint and sometimes changed one without the other. This also fixes Radar 7495976 and should help the verifier work better for ARM code. There are now new ld/st instructions explicit writeback operands and explicit constraints that tie those registers together. llvm-svn: 98409
-
- Mar 08, 2010
-
-
Chris Lattner authored
example, this: (set DPR:$dst, (fsub (fneg (fmul DPR:$a, DPR:$b)), DPR:$dstin)) is ambiguous because DPR contains both f64 and v2f32. tblgen currently accidentally picks f64 because it's first in the regclass. llvm-svn: 97955
-
- Feb 28, 2010
-
-
Dan Gohman authored
llvm-svn: 97348
-
- Feb 11, 2010
-
-
Johnny Chen authored
A8.6.297 llvm-svn: 95885
-
- Feb 09, 2010
-
-
Johnny Chen authored
A8.6.335 & A8.6.336 llvm-svn: 95703
-