- Jan 01, 2014
-
-
Craig Topper authored
Remove modifierType/Base from X86 disassembler tables as they are no longer used. Removes ~11.5K from static tables. llvm-svn: 198284
-
Venkatraman Govindaraju authored
llvm-svn: 198281
-
Venkatraman Govindaraju authored
[SparcV9]: Use SRL instead of SLL to clear top 32-bits in ctpop:i32. SLL does not clear top 32 bit, only SRL does. llvm-svn: 198280
-
NAKAMURA Takumi authored
llvm-svn: 198279
-
Craig Topper authored
Remove need for MODIFIER_OPCODE in the disassembler tables. AddRegFrms are really more like OrRegFrm so we don't need a difference since we can just mask bits. llvm-svn: 198278
-
Elena Demikhovsky authored
Printing rounding control. Enncoding for EVEX_RC (rounding control). llvm-svn: 198277
-
Craig Topper authored
Second attempt at Removing special form of AddRegFrm used by FP instructions. These instructions can be handled by MRMXr instead. llvm-svn: 198276
-
- Dec 31, 2013
-
-
Craig Topper authored
Revert r198238 and add FP disassembler tests. It didn't work and I didn't realized we had no FP disassembler test cases. llvm-svn: 198265
-
Craig Topper authored
llvm-svn: 198263
-
Mark Seaborn authored
llvm-svn: 198262
-
Craig Topper authored
llvm-svn: 198258
-
Craig Topper authored
llvm-svn: 198257
-
Craig Topper authored
llvm-svn: 198254
-
- Dec 30, 2013
-
-
Craig Topper authored
llvm-svn: 198241
-
Craig Topper authored
Remove special form of AddRegFrm used by FP instructions. These instructions can be handled by MRMXr instead. llvm-svn: 198238
-
Saleem Abdulrasool authored
Checking the trailing letter of the mnemonic is insufficient. Be more thorough in the scanning of the instruction to ensure that we correctly work with the predicated mnemonics. llvm-svn: 198235
-
Bill Wendling authored
llvm-svn: 198201
-
Jiangning Liu authored
llvm-svn: 198194
-
Hao Liu authored
llvm-svn: 198193
-
Hao Liu authored
llvm-svn: 198192
-
Hao Liu authored
E.g. Can't select such IR: %tmp = mul <2 x i64> %a, %b llvm-svn: 198188
-
- Dec 29, 2013
-
-
Saleem Abdulrasool authored
The DPR and SPR register lists are also register lists. Furthermore, the registers need not be checked individually since the register type can be checked via the list kind. Use that to simplify the logic and fix the incorrect assertion. llvm-svn: 198174
-
Saleem Abdulrasool authored
In order to provide compatibility with the GNU assembler, provide aliases for pre-UAL mnemonics for floating point operations. llvm-svn: 198172
-
Saleem Abdulrasool authored
llvm-svn: 198171
-
Saleem Abdulrasool authored
The vstm family of VFP instructions belong to the VFP store itinerary class, not the VFP load itinerary class. llvm-svn: 198170
-
Mark Seaborn authored
llvm-svn: 198162
-
Bill Wendling authored
This plugs a memory leak in ARM's FastISel by storing the GV in Module so that it's reclaimed. PR17978 llvm-svn: 198160
-
Venkatraman Govindaraju authored
[SparcV9] Use separate instruction patterns for 64 bit arithmetic instructions instead of reusing 32 bit instruction patterns. This is done to avoid spilling the result of the 64-bit instructions to a 4-byte slot. llvm-svn: 198157
-
Venkatraman Govindaraju authored
[SparcV9] For codegen generated library calls that return float, set inreg flag manually in LowerCall(). This makes the sparc backend to generate Sparc64 ABI compliant code. llvm-svn: 198149
-
Craig Topper authored
llvm-svn: 198146
-
Venkatraman Govindaraju authored
Also, pass fp128 arguments to varargs through integer registers if necessary. llvm-svn: 198145
-
Craig Topper authored
llvm-svn: 198144
-
- Dec 28, 2013
-
-
Saleem Abdulrasool authored
Directive parsers must return false if the target assembler is interested in handling the directive. The Error member function returns true always. Using the 'return Error()' pattern would incorrectly indicate to the general parser that the target was not interested in the directive, when in reality it simply encountered a badly formed directive or some other error. This corrects the behaviour to ensure that the parser behaves appropriately. llvm-svn: 198132
-
Andrew Trick authored
Schedule more conservatively to account for stalls on floating point resources and latency. Use the AGU resource to model latency stalls since it's shared between FP and LD/ST instructions. This might not be completely accurate but should work well in practice. llvm-svn: 198125
-
Andrew Trick authored
Many vector operations never had itineraries. Since the new machine model was a mapping from existing itinerary classes, we don't have a model for these. We still want to migrate A9 even though no one has invested in a complete model, so mark it incomplete to avoid the scheduler asserting. llvm-svn: 198123
-
Andrew Trick authored
Factor the MachineFunctionPass into MachineSchedulerBase. Split the DAG class into ScheduleDAGMI and SchedulerDAGMILive. llvm-svn: 198119
-
Craig Topper authored
llvm-svn: 198117
-
Craig Topper authored
Minor indentation fix to match other switch statements. Change llvm_unreachable text to match similar places. llvm-svn: 198116
-
Andrea Di Biagio authored
vector shift by immedate count (VSHLI/VSRLI/VSRAI) into a build_vector when the vector in input to the shift is a build_vector of all constants or UNDEFs. Target specific nodes for packed shifts by immediate count are in general introduced by function 'getTargetVShiftByConstNode' (in X86ISelLowering.cpp) when lowering shift operations, SSE/AVX immediate shift intrinsics and (only in very few cases) SIGN_EXTEND_INREG dag nodes. This patch adds extra rules for simplifying vector shifts inside function 'getTargetVShiftByConstNode'. Added file test/CodeGen/X86/vec_shift5.ll to verify that packed shifts by immediate are correctly folded into a build_vector when the input vector to the shift dag node is a vector of constants or undefs. llvm-svn: 198113
-
Saleem Abdulrasool authored
llvm-svn: 198095
-