disable some illegal blackfin patterns. sext from i32 to i32 can never

match.  Jakob, please take a look when you get a chance.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98931 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner 2010-03-19 04:53:21 +00:00
parent 1d7dbd1716
commit 2356ae9179

View File

@ -610,7 +610,7 @@ def MOVE_ncccc : F1<(outs NotCC:$cc), (ins JustCC:$sb),
def MOVECC_zext : F1<(outs D:$dst), (ins JustCC:$cc),
"$dst = $cc;",
[(set D:$dst, (zext JustCC:$cc))]>;
[/*(set D:$dst, (zext JustCC:$cc))*/]>;
def MOVENCC_z : F1<(outs D:$dst), (ins NotCC:$cc),
"$dst = cc;", []>;
@ -859,10 +859,10 @@ def : Pat<(BfinCall (i32 tglobaladdr:$dst)),
def : Pat<(BfinCall (i32 texternalsym:$dst)),
(CALLa texternalsym:$dst)>;
def : Pat<(sext JustCC:$cc),
(NEG (MOVECC_zext JustCC:$cc))>;
def : Pat<(anyext JustCC:$cc),
(MOVECC_zext JustCC:$cc)>;
//def : Pat<(sext JustCC:$cc),
// (NEG (MOVECC_zext JustCC:$cc))>;
//def : Pat<(anyext JustCC:$cc),
// (MOVECC_zext JustCC:$cc)>;
def : Pat<(i16 (zext JustCC:$cc)),
(EXTRACT_SUBREG (MOVECC_zext JustCC:$cc), bfin_subreg_lo16)>;
def : Pat<(i16 (sext JustCC:$cc)),