- Sep 07, 2010
-
-
Evan Cheng authored
llvm-svn: 113259
-
Chris Lattner authored
llvm-svn: 113255
-
Bruno Cardoso Lopes authored
decouple MMX check from regular splat checks. Some refactoring is coming, and MMX should be left alone to be easily removed after moving to intrinsics llvm-svn: 113247
-
Bruno Cardoso Lopes authored
llvm-svn: 113242
-
Bruno Cardoso Lopes authored
llvm-svn: 113239
-
Nick Lewycky authored
llvm-svn: 113235
-
Dale Johannesen authored
Enable palignr intrinsic. These may need adjustment for a new VT in due course. llvm-svn: 113233
-
Bruno Cardoso Lopes authored
llvm-svn: 113224
-
Benjamin Kramer authored
llvm-svn: 113200
-
-
Chris Lattner authored
llvm-svn: 113188
-
Chris Lattner authored
always be disambiguated as sldtw. sldtw and sldtq with a mem operands have the same effect, but sldtw is more compact. Force it to sldtw, resolving rdar://8017530 llvm-svn: 113186
-
-
Chris Lattner authored
allowing unsigned 8-bit operands. This fixes rdar://8208481 llvm-svn: 113182
-
Chris Lattner authored
of a mneumonic, report operand errors with better location info. For example, we now report: t.s:6:14: error: invalid operand for instruction cwtl $1 ^ but we fail for common cases like: t.s:11:4: error: invalid operand for instruction addl $1, $1 ^ because we don't know if this is supposed to be the reg/imm or imm/reg form. llvm-svn: 113178
-
- Sep 06, 2010
-
-
Chris Lattner authored
give a more detailed error. Before: t.s:11:4: error: unrecognized instruction addl $1, $1 ^ t.s:12:4: error: unrecognized instruction f2efqefa $1 ^ After: t.s:11:4: error: invalid operand for instruction addl $1, $1 ^ t.s:12:4: error: invalid instruction mnemonic 'f2efqefa' f2efqefa $1 ^ This fixes rdar://8017912 - llvm-mc says "unrecognized instruction" when it means "invalid operands" llvm-svn: 113176
-
Chris Lattner authored
llvm-svn: 113167
-
Chris Lattner authored
failed because a subtarget feature was not enabled. Use this to remove a bunch of hacks from the X86AsmParser for rejecting things like popfl in 64-bit mode. Previously these hacks weren't needed, but were important to get a message better than "invalid instruction" when used in the wrong mode. This also fixes bugs where pushal would not be rejected correctly in 32-bit mode (just pusha). llvm-svn: 113166
-
Chris Lattner authored
llvm-svn: 113165
-
Chris Lattner authored
into the middle of the class, and rework how the different sections of the generated file are conditionally included for simplicity. llvm-svn: 113163
-
Roman Divacky authored
llvm-svn: 113158
-
Chris Lattner authored
llvm-svn: 113157
-
Chris Lattner authored
pattern, so there is no need to define a matching function. llvm-svn: 113122
-
- Sep 05, 2010
-
-
Chris Lattner authored
llvm-svn: 113119
-
Chris Lattner authored
llvm-svn: 113116
-
rdar://6653118Chris Lattner authored
Since mem2reg isn't run at -O0, we get a ton of reloads from the stack, for example, before, this code: int foo(int x, int y, int z) { return x+y+z; } used to compile into: _foo: ## @foo subq $12, %rsp movl %edi, 8(%rsp) movl %esi, 4(%rsp) movl %edx, (%rsp) movl 8(%rsp), %edx movl 4(%rsp), %esi addl %edx, %esi movl (%rsp), %edx addl %esi, %edx movl %edx, %eax addq $12, %rsp ret Now we produce: _foo: ## @foo subq $12, %rsp movl %edi, 8(%rsp) movl %esi, 4(%rsp) movl %edx, (%rsp) movl 8(%rsp), %edx addl 4(%rsp), %edx ## Folded load addl (%rsp), %edx ## Folded load movl %edx, %eax addq $12, %rsp ret Fewer instructions and less register use = faster compiles. llvm-svn: 113102
-
- Sep 04, 2010
-
-
Chris Lattner authored
llvm-svn: 113073
-
Chris Lattner authored
not SelectAddr llvm-svn: 113072
-
Bruno Cardoso Lopes authored
llvm-svn: 113059
-
Bruno Cardoso Lopes authored
llvm-svn: 113058
-
Bruno Cardoso Lopes authored
llvm-svn: 113056
-
Bruno Cardoso Lopes authored
llvm-svn: 113055
-
Bruno Cardoso Lopes authored
llvm-svn: 113050
-
Bruno Cardoso Lopes authored
llvm-svn: 113048
-
Bruno Cardoso Lopes authored
llvm-svn: 113047
-
Bruno Cardoso Lopes authored
llvm-svn: 113045
-
Bruno Cardoso Lopes authored
llvm-svn: 113044
-
Bruno Cardoso Lopes authored
llvm-svn: 113043
-
Bruno Cardoso Lopes authored
llvm-svn: 113035
-
Bruno Cardoso Lopes authored
llvm-svn: 113034
-