Lines Matching full:v2i64
21 // 4. v2i64 setcc results are v4i32, which can be converted to a FSM mask (TODO)
24 // 5. The code sequences for r64 and v2i64 are probably overly conservative,
67 // v2i64 seteq (equality): the setcc result is v4i32
71 def v2i64: CodeFrag<(i32 (COPY_TO_REGCLASS CEQv2i64compare.Fragment, R32C))>;
83 def : Pat<(seteq (v2i64 VECREG:$rA), (v2i64 VECREG:$rB)), I64EQv2i64.Fragment>;
120 def v2i64: CodeFrag<CLGTv2i64compare.Fragment>;
132 //def : Pat<(setugt (v2i64 VECREG:$rA), (v2i64 VECREG:$rB)),
154 def v2i64: CodeFrag<CLGEv2i64compare.Fragment>;
166 def : Pat<(v2i64 (setuge (v2i64 VECREG:$rA), (v2i64 VECREG:$rB))),
205 def v2i64: CodeFrag<CGTv2i64compare.Fragment>;
217 //def : Pat<(setgt (v2i64 VECREG:$rA), (v2i64 VECREG:$rB)),
239 def v2i64: CodeFrag<CGEv2i64compare.Fragment>;
249 def : Pat<(v2i64 (setge (v2i64 VECREG:$rA), (v2i64 VECREG:$rB))),
257 // v2i64, i64 add
274 def : Pat<(SPUadd64 (v2i64 VECREG:$rA), (v2i64 VECREG:$rB),
276 v2i64_add<(v2i64 VECREG:$rA),
277 (v2i64 VECREG:$rB),
281 // v2i64, i64 subtraction
297 def : Pat<(SPUsub64 (v2i64 VECREG:$rA), (v2i64 VECREG:$rB),
299 v2i64_sub<(v2i64 VECREG:$rA),
300 (v2i64 VECREG:$rB),
301 v2i64_sub_bg<(v2i64 VECREG:$rA),
302 (v2i64 VECREG:$rB)>.Fragment,
306 // v2i64, i64 multiply
309 // full-on v2i64 multiply, since the entire vector has to be manipulated
394 def : Pat<(SPUmul64 (v2i64 VECREG:$rA), (v2i64 VECREG:$rB),
396 v2i64_mul<(v2i64 VECREG:$rA), (v2i64 VECREG:$rB),