Lines Matching refs:i64
208 // i64 selects
209 def : MipsPat<(select i64:$cond, i64:$t, i64:$f),
210 (OR64 (SELNEZ64 i64:$t, i64:$cond),
211 (SELEQZ64 i64:$f, i64:$cond))>,
213 def : MipsPat<(select (i32 (seteq i64:$cond, immz)), i64:$t, i64:$f),
214 (OR64 (SELEQZ64 i64:$t, i64:$cond),
215 (SELNEZ64 i64:$f, i64:$cond))>,
217 def : MipsPat<(select (i32 (setne i64:$cond, immz)), i64:$t, i64:$f),
218 (OR64 (SELNEZ64 i64:$t, i64:$cond),
219 (SELEQZ64 i64:$f, i64:$cond))>,
221 def : MipsPat<(select (i32 (seteq i64:$cond, immZExt16_64:$imm)), i64:$t, i64:$f),
222 (OR64 (SELEQZ64 i64:$t, (XORi64 i64:$cond, immZExt16_64:$imm)),
223 (SELNEZ64 i64:$f, (XORi64 i64:$cond, immZExt16_64:$imm)))>,
225 def : MipsPat<(select (i32 (setne i64:$cond, immZExt16_64:$imm)), i64:$t, i64:$f),
226 (OR64 (SELNEZ64 i64:$t, (XORi64 i64:$cond, immZExt16_64:$imm)),
227 (SELEQZ64 i64:$f, (XORi64 i64:$cond, immZExt16_64:$imm)))>,
230 (select (i32 (setgt i64:$cond, immSExt16Plus1:$imm)), i64:$t, i64:$f),
231 (OR64 (SELEQZ64 i64:$t,
232 (SUBREG_TO_REG (i64 0), (SLTi64 i64:$cond, (Plus1 imm:$imm)),
234 (SELNEZ64 i64:$f,
235 (SUBREG_TO_REG (i64 0), (SLTi64 i64:$cond, (Plus1 imm:$imm)),
239 (select (i32 (setugt i64:$cond, immSExt16Plus1:$imm)), i64:$t, i64:$f),
240 (OR64 (SELEQZ64 i64:$t,
241 (SUBREG_TO_REG (i64 0), (SLTiu64 i64:$cond, (Plus1 imm:$imm)),
243 (SELNEZ64 i64:$f,
244 (SUBREG_TO_REG (i64 0), (SLTiu64 i64:$cond, (Plus1 imm:$imm)),
248 def : MipsPat<(select (i32 (setne i64:$cond, immz)), i64:$t, immz),
249 (SELNEZ64 i64:$t, i64:$cond)>, ISA_MIPS64R6;
250 def : MipsPat<(select (i32 (seteq i64:$cond, immz)), i64:$t, immz),
251 (SELEQZ64 i64:$t, i64:$cond)>, ISA_MIPS64R6;
252 def : MipsPat<(select (i32 (setne i64:$cond, immz)), immz, i64:$f),
253 (SELEQZ64 i64:$f, i64:$cond)>, ISA_MIPS64R6;
254 def : MipsPat<(select (i32 (seteq i64:$cond, immz)), immz, i64:$f),
255 (SELNEZ64 i64:$f, i64:$cond)>, ISA_MIPS64R6;
257 // i64 selects from an i32 comparison
259 // FIXME: Ideally, setcc would always produce an i64 on MIPS64 targets.
261 def : MipsPat<(select i32:$cond, i64:$t, i64:$f),
262 (OR64 (SELNEZ64 i64:$t, (SLL64_32 i32:$cond)),
263 (SELEQZ64 i64:$f, (SLL64_32 i32:$cond)))>,
265 def : MipsPat<(select (i32 (seteq i32:$cond, immz)), i64:$t, i64:$f),
266 (OR64 (SELEQZ64 i64:$t, (SLL64_32 i32:$cond)),
267 (SELNEZ64 i64:$f, (SLL64_32 i32:$cond)))>,
269 def : MipsPat<(select (i32 (setne i32:$cond, immz)), i64:$t, i64:$f),
270 (OR64 (SELNEZ64 i64:$t, (SLL64_32 i32:$cond)),
271 (SELEQZ64 i64:$f, (SLL64_32 i32:$cond)))>,
273 def : MipsPat<(select (i32 (seteq i32:$cond, immZExt16:$imm)), i64:$t, i64:$f),
274 (OR64 (SELEQZ64 i64:$t, (SLL64_32 (XORi i32:$cond,
276 (SELNEZ64 i64:$f, (SLL64_32 (XORi i32:$cond,
279 def : MipsPat<(select (i32 (setne i32:$cond, immZExt16:$imm)), i64:$t, i64:$f),
280 (OR64 (SELNEZ64 i64:$t, (SLL64_32 (XORi i32:$cond,
282 (SELEQZ64 i64:$f, (SLL64_32 (XORi i32:$cond,
286 def : MipsPat<(select i32:$cond, i64:$t, immz),
287 (SELNEZ64 i64:$t, (SLL64_32 i32:$cond))>,
289 def : MipsPat<(select (i32 (setne i32:$cond, immz)), i64:$t, immz),
290 (SELNEZ64 i64:$t, (SLL64_32 i32:$cond))>,
292 def : MipsPat<(select (i32 (seteq i32:$cond, immz)), i64:$t, immz),
293 (SELEQZ64 i64:$t, (SLL64_32 i32:$cond))>,
295 def : MipsPat<(select i32:$cond, immz, i64:$f),
296 (SELEQZ64 i64:$f, (SLL64_32 i32:$cond))>,
298 def : MipsPat<(select (i32 (setne i32:$cond, immz)), immz, i64:$f),
299 (SELEQZ64 i64:$f, (SLL64_32 i32:$cond))>,
301 def : MipsPat<(select (i32 (seteq i32:$cond, immz)), immz, i64:$f),
302 (SELNEZ64 i64:$f, (SLL64_32 i32:$cond))>,
307 def : MipsPat<(i64 (sext (i32 (mul GPR32:$src, GPR32:$src2)))),
308 (INSERT_SUBREG (i64 (IMPLICIT_DEF)),
310 def : MipsPat<(i64 (sext (i32 (sdiv GPR32:$src, GPR32:$src2)))),
311 (INSERT_SUBREG (i64 (IMPLICIT_DEF)),
313 def : MipsPat<(i64 (sext (i32 (udiv GPR32:$src, GPR32:$src2)))),
314 (INSERT_SUBREG (i64 (IMPLICIT_DEF)),
316 def : MipsPat<(i64 (sext (i32 (srem GPR32:$src, GPR32:$src2)))),
317 (INSERT_SUBREG (i64 (IMPLICIT_DEF)),
319 def : MipsPat<(i64 (sext (i32 (urem GPR32:$src, GPR32:$src2)))),
320 (INSERT_SUBREG (i64 (IMPLICIT_DEF)),