llvm-project/llvm/test/CodeGen/Mips/GlobalISel/instruction-select
Petar Avramovic 1f559353a7 [MIPS GlobalISel] Select andi, ori and xori
Introduce IntImmLeaf version of PatLeaf immZExt16 for 32-bit immediates.
Change immZExt16 with imm32ZExt16 for andi, ori and xori.
This keeps same behavior for SDAG and allows for GlobalISel selectImpl
to select 'G_CONSTANT imm' + G_AND, G_OR, G_XOR into ANDi, ORi, XORi,
respectively, when 32-bit imm satisfies imm32ZExt16 predicate: zero
extending 16 low bits of imm is equal to imm.
Large number of test changes comes from zero extending of small types
which is transformed into 'and' with bitmask in legalizer.

Differential Revision:https://reviews.llvm.org/D70185
2019-11-15 11:41:25 +01:00
..
add.mir [MIPS GlobalISel] Select addiu 2019-11-15 11:36:13 +01:00
add_vec.mir [MIPS GlobalISel] Select MSA vector generic and builtin add 2019-10-22 13:51:57 +00:00
bitwise.mir [MIPS GlobalISel] Select andi, ori and xori 2019-11-15 11:41:25 +01:00
branch.mir [MIPS GlobalISel] Select andi, ori and xori 2019-11-15 11:41:25 +01:00
brindirect.mir [MIPS GlobalISel] Select indirect branch 2019-09-12 11:44:36 +00:00
constants.mir [Alignment] Use llvm::Align in MachineFunction and TargetLowering - fixes mir parsing 2019-09-11 11:16:48 +00:00
fabs.mir [Alignment] Use llvm::Align in MachineFunction and TargetLowering - fixes mir parsing 2019-09-11 11:16:48 +00:00
fabs_vec.mir [MIPS GlobalISel] Select MSA vector generic and builtin fabs 2019-10-24 13:45:26 +02:00
fcmp.mir [Alignment] Use llvm::Align in MachineFunction and TargetLowering - fixes mir parsing 2019-09-11 11:16:48 +00:00
fence.mir [Alignment] Use llvm::Align in MachineFunction and TargetLowering - fixes mir parsing 2019-09-11 11:16:48 +00:00
float_args.mir [Alignment] Use llvm::Align in MachineFunction and TargetLowering - fixes mir parsing 2019-09-11 11:16:48 +00:00
float_arithmetic_operations.mir [Alignment] Use llvm::Align in MachineFunction and TargetLowering - fixes mir parsing 2019-09-11 11:16:48 +00:00
float_constants.mir [Alignment] Use llvm::Align in MachineFunction and TargetLowering - fixes mir parsing 2019-09-11 11:16:48 +00:00
floating_point_vec_arithmetic_operations.mir [MIPS GlobalISel] MSA vector generic and builtin fadd, fsub, fmul, fdiv 2019-10-24 10:15:07 +02:00
fpext_and_fptrunc.mir [Alignment] Use llvm::Align in MachineFunction and TargetLowering - fixes mir parsing 2019-09-11 11:16:48 +00:00
fptosi_and_fptoui.mir [Alignment] Use llvm::Align in MachineFunction and TargetLowering - fixes mir parsing 2019-09-11 11:16:48 +00:00
fsqrt.mir [Alignment] Use llvm::Align in MachineFunction and TargetLowering - fixes mir parsing 2019-09-11 11:16:48 +00:00
fsqrt_vec.mir [MIPS GlobalISel] Select MSA vector generic and builtin fsqrt 2019-10-25 14:45:14 +02:00
gloal_address.mir [Alignment] Use llvm::Align in MachineFunction and TargetLowering - fixes mir parsing 2019-09-11 11:16:48 +00:00
gloal_address_pic.mir [Alignment] Use llvm::Align in MachineFunction and TargetLowering - fixes mir parsing 2019-09-11 11:16:48 +00:00
icmp.mir [Alignment] Use llvm::Align in MachineFunction and TargetLowering - fixes mir parsing 2019-09-11 11:16:48 +00:00
implicit_def.mir [MIPS GlobalISel] Select G_IMPLICIT_DEF 2019-09-12 11:32:38 +00:00
inttoptr_and_ptrtoint.mir [Alignment] Use llvm::Align in MachineFunction and TargetLowering - fixes mir parsing 2019-09-11 11:16:48 +00:00
jump_table_and_brjt.mir [MIPS GlobalISel] Select andi, ori and xori 2019-11-15 11:41:25 +01:00
load.mir [Alignment] Use llvm::Align in MachineFunction and TargetLowering - fixes mir parsing 2019-09-11 11:16:48 +00:00
load_store_fold.mir [globalisel] Rename G_GEP to G_PTR_ADD 2019-11-05 10:31:17 -08:00
load_store_vec.mir [MIPS GlobalISel] Add MSA registers to fprb. Select vector load, store 2019-10-15 09:30:08 +00:00
mul.mir [MIPS GlobalISel] Select andi, ori and xori 2019-11-15 11:41:25 +01:00
mul_vec.mir [MIPS GlobalISel] Select MSA vector generic and builtin mul 2019-10-23 11:22:07 +02:00
phi.mir [MIPS GlobalISel] Select andi, ori and xori 2019-11-15 11:41:25 +01:00
pointers.mir [Alignment] Use llvm::Align in MachineFunction and TargetLowering - fixes mir parsing 2019-09-11 11:16:48 +00:00
rem_and_div.mir [Alignment] Use llvm::Align in MachineFunction and TargetLowering - fixes mir parsing 2019-09-11 11:16:48 +00:00
rem_and_div_vec.mir [MIPS GlobalISel] MSA vector generic and builtin sdiv, srem, udiv, urem 2019-10-24 10:03:36 +02:00
select.mir [MIPS GlobalISel] Select andi, ori and xori 2019-11-15 11:41:25 +01:00
sitofp_and_uitofp.mir [Alignment] Use llvm::Align in MachineFunction and TargetLowering - fixes mir parsing 2019-09-11 11:16:48 +00:00
stack_args.mir [globalisel] Rename G_GEP to G_PTR_ADD 2019-11-05 10:31:17 -08:00
store.mir [Alignment] Use llvm::Align in MachineFunction and TargetLowering - fixes mir parsing 2019-09-11 11:16:48 +00:00
sub.mir [Alignment] Use llvm::Align in MachineFunction and TargetLowering - fixes mir parsing 2019-09-11 11:16:48 +00:00
sub_vec.mir [MIPS GlobalISel] Select MSA vector generic and builtin sub 2019-10-23 11:15:25 +02:00
truncStore_and_aExtLoad.mir [Alignment] Use llvm::Align in MachineFunction and TargetLowering - fixes mir parsing 2019-09-11 11:16:48 +00:00
var_arg.mir [globalisel] Rename G_GEP to G_PTR_ADD 2019-11-05 10:31:17 -08:00
zextLoad_and_sextLoad.mir [Alignment] Use llvm::Align in MachineFunction and TargetLowering - fixes mir parsing 2019-09-11 11:16:48 +00:00