- Jan 02, 2014
-
-
Craig Topper authored
Mark PUSHFS64/PUSHGS64/POPFS64/POPGS64 as In64BitMode and remove the hack from the disassembler table builder. llvm-svn: 198327
-
Craig Topper authored
Mark all x86 Int_ and _Int patterns as isCodeGenOnly so the disassembler table builder doesn't need to string match them to exclude them. llvm-svn: 198323
-
Logan Chien authored
llvm-svn: 198313
-
Rafael Espindola authored
This patch makes it possible to select the ABI with -mattr. It will be used to forward clang's -target-abi option to llvm's CodeGen. llvm-svn: 198304
-
- Jan 01, 2014
-
-
Rafael Espindola authored
During the years there have been some attempts at figuring out how to align byval arguments. A look at the commit log suggests that they were * Use the ABI alignment. * When that was not sufficient for x86-64, I added the 's' specification to DataLayout. * When that was not sufficient Evan added the virtual getByValTypeAlignment. * When even that was not sufficient, we just got the FE to add the alignment to the byval. This patch is just a simple cleanup that removes my first attempt at fixing the problem. I also added an AArch64 implementation of getByValTypeAlignment to make sure this patch is a nop. I also left the 's' parsing for backward compatibility. I will send a short email to llvmdev about the change for anyone maintaining an out of tree target. llvm-svn: 198287
-
Venkatraman Govindaraju authored
llvm-svn: 198286
-
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
-