Lines Matching refs:Narrow

2966                                                  X86VectorVTInfo Narrow,
2968 def : Pat<(Narrow.KVT (Frag:$cc (Narrow.VT Narrow.RC:$src1),
2969 (Narrow.VT Narrow.RC:$src2), cond)),
2972 (Wide.VT (INSERT_SUBREG (IMPLICIT_DEF), Narrow.RC:$src1, Narrow.SubRegIdx)),
2973 (Wide.VT (INSERT_SUBREG (IMPLICIT_DEF), Narrow.RC:$src2, Narrow.SubRegIdx)),
2974 (X86pcmpm_imm $cc)), Narrow.KRC)>;
2976 def : Pat<(Narrow.KVT (and Narrow.KRC:$mask,
2977 (Narrow.KVT (Frag_su:$cc (Narrow.VT Narrow.RC:$src1),
2978 (Narrow.VT Narrow.RC:$src2),
2981 (COPY_TO_REGCLASS Narrow.KRC:$mask, Wide.KRC),
2982 (Wide.VT (INSERT_SUBREG (IMPLICIT_DEF), Narrow.RC:$src1, Narrow.SubRegIdx)),
2983 (Wide.VT (INSERT_SUBREG (IMPLICIT_DEF), Narrow.RC:$src2, Narrow.SubRegIdx)),
2984 (X86pcmpm_imm $cc)), Narrow.KRC)>;
2989 X86VectorVTInfo Narrow,
2992 def : Pat<(Narrow.KVT (Frag:$cc (Narrow.VT Narrow.RC:$src1),
2993 (Narrow.BroadcastLdFrag addr:$src2), cond)),
2996 (Wide.VT (INSERT_SUBREG (IMPLICIT_DEF), Narrow.RC:$src1, Narrow.SubRegIdx)),
2997 addr:$src2, (X86pcmpm_imm $cc)), Narrow.KRC)>;
2999 def : Pat<(Narrow.KVT (and Narrow.KRC:$mask,
3000 (Narrow.KVT
3001 (Frag_su:$cc (Narrow.VT Narrow.RC:$src1),
3002 (Narrow.BroadcastLdFrag addr:$src2),
3005 (COPY_TO_REGCLASS Narrow.KRC:$mask, Wide.KRC),
3006 (Wide.VT (INSERT_SUBREG (IMPLICIT_DEF), Narrow.RC:$src1, Narrow.SubRegIdx)),
3007 addr:$src2, (X86pcmpm_imm $cc)), Narrow.KRC)>;
3010 def : Pat<(Narrow.KVT (Frag:$cc (Narrow.BroadcastLdFrag addr:$src2),
3011 (Narrow.VT Narrow.RC:$src1),
3015 (Wide.VT (INSERT_SUBREG (IMPLICIT_DEF), Narrow.RC:$src1, Narrow.SubRegIdx)),
3016 addr:$src2, (X86pcmpm_imm_commute $cc)), Narrow.KRC)>;
3018 def : Pat<(Narrow.KVT (and Narrow.KRC:$mask,
3019 (Narrow.KVT
3020 (Frag_su:$cc (Narrow.BroadcastLdFrag addr:$src2),
3021 (Narrow.VT Narrow.RC:$src1),
3024 (COPY_TO_REGCLASS Narrow.KRC:$mask, Wide.KRC),
3025 (Wide.VT (INSERT_SUBREG (IMPLICIT_DEF), Narrow.RC:$src1, Narrow.SubRegIdx)),
3026 addr:$src2, (X86pcmpm_imm_commute $cc)), Narrow.KRC)>;
3031 X86VectorVTInfo Narrow,
3033 def : Pat<(Narrow.KVT (X86cmpm (Narrow.VT Narrow.RC:$src1),
3034 (Narrow.VT Narrow.RC:$src2), timm:$cc)),
3037 (Wide.VT (INSERT_SUBREG (IMPLICIT_DEF), Narrow.RC:$src1, Narrow.SubRegIdx)),
3038 (Wide.VT (INSERT_SUBREG (IMPLICIT_DEF), Narrow.RC:$src2, Narrow.SubRegIdx)),
3039 timm:$cc), Narrow.KRC)>;
3041 def : Pat<(Narrow.KVT (and Narrow.KRC:$mask,
3042 (X86cmpm_su (Narrow.VT Narrow.RC:$src1),
3043 (Narrow.VT Narrow.RC:$src2), timm:$cc))),
3045 (COPY_TO_REGCLASS Narrow.KRC:$mask, Wide.KRC),
3046 (Wide.VT (INSERT_SUBREG (IMPLICIT_DEF), Narrow.RC:$src1, Narrow.SubRegIdx)),
3047 (Wide.VT (INSERT_SUBREG (IMPLICIT_DEF), Narrow.RC:$src2, Narrow.SubRegIdx)),
3048 timm:$cc), Narrow.KRC)>;
3051 def : Pat<(Narrow.KVT (X86cmpm (Narrow.VT Narrow.RC:$src1),
3052 (Narrow.VT (Narrow.BroadcastLdFrag addr:$src2)), timm:$cc)),
3055 (Wide.VT (INSERT_SUBREG (IMPLICIT_DEF), Narrow.RC:$src1, Narrow.SubRegIdx)),
3056 addr:$src2, timm:$cc), Narrow.KRC)>;
3058 def : Pat<(Narrow.KVT (and Narrow.KRC:$mask,
3059 (X86cmpm_su (Narrow.VT Narrow.RC:$src1),
3060 (Narrow.VT (Narrow.BroadcastLdFrag addr:$src2)), timm:$cc))),
3062 (COPY_TO_REGCLASS Narrow.KRC:$mask, Wide.KRC),
3063 (Wide.VT (INSERT_SUBREG (IMPLICIT_DEF), Narrow.RC:$src1, Narrow.SubRegIdx)),
3064 addr:$src2, timm:$cc), Narrow.KRC)>;
3067 def : Pat<(Narrow.KVT (X86cmpm (Narrow.VT (Narrow.BroadcastLdFrag addr:$src2)),
3068 (Narrow.VT Narrow.RC:$src1), timm:$cc)),
3071 (Wide.VT (INSERT_SUBREG (IMPLICIT_DEF), Narrow.RC:$src1, Narrow.SubRegIdx)),
3072 addr:$src2, (X86cmpm_imm_commute timm:$cc)), Narrow.KRC)>;
3074 def : Pat<(Narrow.KVT (and Narrow.KRC:$mask,
3075 (X86cmpm_su (Narrow.VT (Narrow.BroadcastLdFrag addr:$src2)),
3076 (Narrow.VT Narrow.RC:$src1), timm:$cc))),
3078 (COPY_TO_REGCLASS Narrow.KRC:$mask, Wide.KRC),
3079 (Wide.VT (INSERT_SUBREG (IMPLICIT_DEF), Narrow.RC:$src1, Narrow.SubRegIdx)),
3080 addr:$src2, (X86cmpm_imm_commute timm:$cc)), Narrow.KRC)>;
3484 multiclass mask_move_lowering<string InstrStr, X86VectorVTInfo Narrow,
3486 def : Pat<(Narrow.VT (vselect (Narrow.KVT Narrow.KRCWM:$mask),
3487 Narrow.RC:$src1, Narrow.RC:$src0)),
3491 (Wide.VT (INSERT_SUBREG (IMPLICIT_DEF), Narrow.RC:$src0, Narrow.SubRegIdx)),
3492 (COPY_TO_REGCLASS Narrow.KRCWM:$mask, Wide.KRCWM),
3493 (Wide.VT (INSERT_SUBREG (IMPLICIT_DEF), Narrow.RC:$src1, Narrow.SubRegIdx)))),
3494 Narrow.SubRegIdx)>;
3496 def : Pat<(Narrow.VT (vselect (Narrow.KVT Narrow.KRCWM:$mask),
3497 Narrow.RC:$src1, Narrow.ImmAllZerosV)),
3501 (COPY_TO_REGCLASS Narrow.KRCWM:$mask, Wide.KRCWM),
3502 (Wide.VT (INSERT_SUBREG (IMPLICIT_DEF), Narrow.RC:$src1, Narrow.SubRegIdx)))),
3503 Narrow.SubRegIdx)>;