mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-12-27 05:55:40 +00:00
Add missed mem-mem move patterns
llvm-svn: 83812
This commit is contained in:
parent
986885b62e
commit
deadc3ed2d
@ -243,6 +243,13 @@ def MOV16mr : Pseudo<(outs), (ins memdst:$dst, GR16:$src),
|
|||||||
"mov.w\t{$src, $dst}",
|
"mov.w\t{$src, $dst}",
|
||||||
[(store GR16:$src, addr:$dst)]>;
|
[(store GR16:$src, addr:$dst)]>;
|
||||||
|
|
||||||
|
def MOV8mm : Pseudo<(outs), (ins memdst:$dst, memsrc:$src),
|
||||||
|
"mov.b\t{$src, $dst}",
|
||||||
|
[(store (i8 (load addr:$src)), addr:$dst)]>;
|
||||||
|
def MOV16mm : Pseudo<(outs), (ins memdst:$dst, memsrc:$src),
|
||||||
|
"mov.w\t{$src, $dst}",
|
||||||
|
[(store (i16 (load addr:$src)), addr:$dst)]>;
|
||||||
|
|
||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
// Arithmetic Instructions
|
// Arithmetic Instructions
|
||||||
|
|
||||||
|
@ -4,6 +4,14 @@ target triple = "msp430-generic-generic"
|
|||||||
@foo = common global i16 0, align 2
|
@foo = common global i16 0, align 2
|
||||||
@bar = common global i16 0, align 2
|
@bar = common global i16 0, align 2
|
||||||
|
|
||||||
|
define void @mov() nounwind {
|
||||||
|
; CHECK: mov:
|
||||||
|
; CHECK: mov.w &bar, &foo
|
||||||
|
%1 = load i16* @bar
|
||||||
|
store i16 %1, i16* @foo
|
||||||
|
ret void
|
||||||
|
}
|
||||||
|
|
||||||
define void @add() nounwind {
|
define void @add() nounwind {
|
||||||
; CHECK: add:
|
; CHECK: add:
|
||||||
; CHECK: add.w &bar, &foo
|
; CHECK: add.w &bar, &foo
|
||||||
|
@ -5,6 +5,14 @@ target triple = "msp430-generic-generic"
|
|||||||
@foo = common global i8 0, align 1
|
@foo = common global i8 0, align 1
|
||||||
@bar = common global i8 0, align 1
|
@bar = common global i8 0, align 1
|
||||||
|
|
||||||
|
define void @mov() nounwind {
|
||||||
|
; CHECK: mov:
|
||||||
|
; CHECK: mov.b &bar, &foo
|
||||||
|
%1 = load i8* @bar
|
||||||
|
store i8 %1, i8* @foo
|
||||||
|
ret void
|
||||||
|
}
|
||||||
|
|
||||||
define void @add() nounwind {
|
define void @add() nounwind {
|
||||||
; CHECK: add:
|
; CHECK: add:
|
||||||
; CHECK: add.b &bar, &foo
|
; CHECK: add.b &bar, &foo
|
||||||
|
Loading…
Reference in New Issue
Block a user