mirror of
https://github.com/RPCSX/llvm.git
synced 2024-12-04 18:06:49 +00:00
Some nice peephole patterns. Based on patch by Brian Lucas!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86469 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
764cfaabd2
commit
ff2c186d59
@ -690,6 +690,10 @@ def SEXT16r : Pseudo<(outs GR16:$dst), (ins GR16:$src),
|
||||
|
||||
} // Defs = [SRW]
|
||||
|
||||
def ZEXT16r : Pseudo<(outs GR16:$dst), (ins GR16:$src),
|
||||
"mov.b\t{$src, $dst}",
|
||||
[(set GR16:$dst, (zext (trunc GR16:$src)))]>;
|
||||
|
||||
def SWPB16r : Pseudo<(outs GR16:$dst), (ins GR16:$src),
|
||||
"swpb\t$dst",
|
||||
[(set GR16:$dst, (bswap GR16:$src))]>;
|
||||
@ -899,3 +903,6 @@ def : Pat<(store (subc (load addr:$dst), GR8:$src), addr:$dst),
|
||||
(SUB8mr addr:$dst, GR8:$src)>;
|
||||
def : Pat<(store (subc (load addr:$dst), (i8 (load addr:$src))), addr:$dst),
|
||||
(SUB8mm addr:$dst, addr:$src)>;
|
||||
|
||||
// peephole patterns
|
||||
def : Pat<(and GR16:$src, 255), (ZEXT16r GR16:$src)>;
|
||||
|
Loading…
Reference in New Issue
Block a user