- Nov 06, 2010
-
-
Chris Lattner authored
shift-by-1 instructions, where the asmstring doesn't contain the implicit 1. It turns out that a bunch of these rotate instructions were completely broken because they used 1 instead of $1. This fixes assembly mismatches on "rclb $1, %bl" and friends, where we used to generate the 3 byte form, we now generate the proper 2-byte form. llvm-svn: 118355
-
Chris Lattner authored
listed in its asm string, for consistency with the other similar instructions. llvm-svn: 118354
-
Chris Lattner authored
llvm-svn: 118353
-
Chris Lattner authored
fixed physical registers. Start moving fp comparison aliases to the .td file (which default to using %st1 if nothing is specified). llvm-svn: 118352
-
Bill Wendling authored
(surprise!) a list of registers. Register lists are consecutive, so we only need to record the start register plus the number of registers. llvm-svn: 118351
-
Chris Lattner authored
add fixed immediate values. Move the aad and aam aliases to use this, and document it. llvm-svn: 118350
-
Chris Lattner authored
llvm-svn: 118349
-
Chris Lattner authored
llvm-svn: 118348
-
Chris Lattner authored
llvm-svn: 118347
-
Chris Lattner authored
floating point stack instructions instead of looking for b/w/l/q. This fixes issues where we'd accidentally match fistp to fistpl, when it is in fact an ambiguous instruction. This changes the behavior of llvm-mc to reject fstp, which was the correct fix for rdar://8456389: t.s:1:1: error: ambiguous instructions require an explicit suffix (could be 'fstps', 'fstpl', or 'fstpt') fstp (%rax) it also causes us to correctly reject fistp and fist, which addresses PR8528: t.s:2:1: error: ambiguous instructions require an explicit suffix (could be 'fistps', or 'fistpl') fistp (%rax) ^ t.s:3:1: error: ambiguous instructions require an explicit suffix (could be 'fists', or 'fistl') fist (%rax) ^ Thanks to Ismail Donmez for tracking down the issue here! llvm-svn: 118346
-
Bill Wendling authored
llvm-svn: 118341
-
Bill Wendling authored
llvm-svn: 118340
-
Bill Wendling authored
llvm-svn: 118339
-
Bill Wendling authored
while the latter doesn't. llvm-svn: 118338
-
Benjamin Kramer authored
llvm-svn: 118337
-
Chris Lattner authored
result instruction operand numbering matched the result pattern. Fixing this allows us to move the xchg/test aliases to the .td file. llvm-svn: 118334
-
Eric Christopher authored
Fixes 8559. llvm-svn: 118333
-
Chris Lattner authored
llvm-svn: 118332
-
Chris Lattner authored
tidy up the movsx and movzx aliases. llvm-svn: 118331
-
Chris Lattner authored
from c++ hacks to proper .td InstAlias definitions. Change them! llvm-svn: 118330
-
Chris Lattner authored
operand list instead of the operand list redundantly declared on the alias or instruction. With this change, we finally remove the ins/outs list on the alias. Before: def : InstAlias<(outs GR16:$dst), (ins GR8 :$src), "movsx $src, $dst", (MOVSX16rr8W GR16:$dst, GR8:$src)>; After: def : InstAlias<"movsx $src, $dst", (MOVSX16rr8W GR16:$dst, GR8:$src)>; This also makes the alias mechanism more general and powerful, which will be exploited in subsequent patches. llvm-svn: 118329
-
- Nov 05, 2010
-
-
Jim Grosbach authored
llvm-svn: 118310
-
Jim Grosbach authored
llvm-svn: 118307
-
Jim Grosbach authored
llvm-svn: 118304
-
Jim Grosbach authored
llvm-svn: 118301
-
Owen Anderson authored
llvm-svn: 118300
-
Jim Grosbach authored
llvm-svn: 118295
-
Owen Anderson authored
llvm-svn: 118291
-
Jim Grosbach authored
(relocations, e.g.), but this will allow simple things to flow through. llvm-svn: 118289
-
Jim Grosbach authored
llvm-svn: 118288
-
Jim Grosbach authored
llvm-svn: 118280
-
- Nov 04, 2010
-
-
Duncan Sands authored
sequence of loads and stores was being generated to perform the copy on the x86 targets if the parameter was less than 4 byte aligned, causing llc to use up vast amounts of memory and time. Use a "rep movs" form instead. PR7170. llvm-svn: 118260
-
Duncan Sands authored
and as such can be represented by an MVT - the more complicated EVT is not needed. Use MVT for ValVT everywhere. llvm-svn: 118245
-
Evan Cheng authored
Fix @llvm.prefetch isel. Selecting between pld / pldw using the first immediate rw. There is currently no intrinsic that matches to pli. llvm-svn: 118237
-
Jim Grosbach authored
tweaking when we start using it for object file emission or JIT, but it's a start. llvm-svn: 118221
-
Bill Wendling authored
llvm-svn: 118220
-
Jim Grosbach authored
CodeEmitter. llvm-svn: 118209
-
Owen Anderson authored
This is both the conceptually correct place for it, as well as allowing it to be more aggressive. llvm-svn: 118204
-
- Nov 03, 2010
-
-
Owen Anderson authored
We could be more aggressive about making this work for a larger range of constants, but this seems like a good start. llvm-svn: 118201
-
Jim Grosbach authored
llvm-svn: 118199
-