diff options
author | Chris Lattner <sabre@nondot.org> | 2010-11-01 05:41:10 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2010-11-01 05:41:10 +0000 |
commit | 1acd6b1edc3fd68721961d976996658c7671836c (patch) | |
tree | 3ed22d245f95c0d11b7ddb1ce287fab8c7919442 /llvm/lib | |
parent | dd3b09c234803037e3e19788bb2d34d4cfe5e0fc (diff) | |
download | bcm5719-llvm-1acd6b1edc3fd68721961d976996658c7671836c.tar.gz bcm5719-llvm-1acd6b1edc3fd68721961d976996658c7671836c.zip |
"mov[zs]x (mem), GR16" are not ambiguous: the mem
must be 8 bits. Support this memory form.
llvm-svn: 117902
Diffstat (limited to 'llvm/lib')
-rw-r--r-- | llvm/lib/Target/X86/X86InstrInfo.td | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/llvm/lib/Target/X86/X86InstrInfo.td b/llvm/lib/Target/X86/X86InstrInfo.td index f5463c0d6ab..114f3d380cc 100644 --- a/llvm/lib/Target/X86/X86InstrInfo.td +++ b/llvm/lib/Target/X86/X86InstrInfo.td @@ -1262,6 +1262,9 @@ include "X86InstrCompiler.td" def : InstAlias<(outs GR16:$dst), (ins GR8 :$src), "movsx $src, $dst", (MOVSX16rr8W GR16:$dst, GR8:$src)>; +def : InstAlias<(outs GR16:$dst), (ins i8mem:$src), + "movsx $src, $dst", + (MOVSX16rm8W GR16:$dst, i8mem:$src)>; def : InstAlias<(outs GR32:$dst), (ins GR8 :$src), "movsx $src, $dst", @@ -1284,6 +1287,9 @@ def : InstAlias<(outs GR64:$dst), (ins GR32:$src), def : InstAlias<(outs GR16:$dst), (ins GR8 :$src), "movzx $src, $dst", (MOVZX16rr8W GR16:$dst, GR8:$src)>; +def : InstAlias<(outs GR16:$dst), (ins i8mem:$src), + "movzx $src, $dst", + (MOVZX16rm8W GR16:$dst, i8mem:$src)>; def : InstAlias<(outs GR32:$dst), (ins GR8 :$src), "movzx $src, $dst", |