llvm-project/llvm/test/CodeGen/RISCV
David Green d10f23a25d [ISel] Expand saddsat and ssubsat via asr and xor
This changes the lowering of saddsat and ssubsat so that instead of
using:
  r,o = saddo x, y
  c = setcc r < 0
  s = c ? INTMAX : INTMIN
  ret o ? s : r
into using asr and xor to materialize the INTMAX/INTMIN constants:
  r,o = saddo x, y
  s = ashr r, BW-1
  x = xor s, INTMIN
  ret o ? x : r
https://alive2.llvm.org/ce/z/TYufgD

This seems to reduce the instruction count in most testcases across most
architectures. X86 has some custom lowering added to compensate for
cases where it can increase instruction count.

Differential Revision: https://reviews.llvm.org/D105853
2021-08-19 16:08:07 +01:00
..
GlobalISel
intrinsics
rvv [LegalizeTypes][VP] Add widening support for binary VP ops 2021-08-19 13:08:47 +01:00
add-before-shl.ll [RISCV] Teach isel to select ADDW/SUBW/MULW/SLLIW when only the lower 32-bits are used. 2021-08-18 10:22:00 -07:00
add-imm.ll [RISCV] Remove sext_inreg+add/sub/mul/shl isel patterns. 2021-08-18 11:07:11 -07:00
addc-adde-sube-subc.ll
addcarry.ll
addimm-mulimm.ll [RISCV][test] Improve tests for (add (mul x, c1), c2) 2021-08-19 21:04:35 +08:00
addrspacecast.ll [RISCV] Assume no-op addrspacecasts by default 2020-12-18 21:03:37 +00:00
aext-to-sext.ll [RISCV] Protect the SHL/SRA/SRL handlers in LowerOperation against being called for an illegal i32 shift amount. 2021-06-29 09:45:13 -07:00
align-loops.ll [CodeGen] Add -align-loops 2021-08-04 12:45:18 -07:00
align.ll
alloca.ll [RISCV][NFC] Regenerate RISCV CodeGen tests 2020-12-09 19:42:49 +00:00
alu8.ll Revert "[RISCV] Use zexti32/sexti32 in srliw/sraiw isel patterns to improve usage of those instructions." 2021-06-27 10:33:43 -07:00
alu16.ll [RISCV] Use SLLI/SRLI instead of SLLIW/SRLIW for (srl (and X, 0xffff), C) custom isel on RV64. 2021-04-11 13:59:51 -07:00
alu32.ll [RISCV] Insert sext_inreg when type legalizing add/sub/mul with constant LHS. 2021-08-18 10:44:25 -07:00
alu64.ll [RISCV] Add isel pattern to match (i64 (sra (shl X, 32), C)) to SRAIW if C > 32. 2020-11-25 21:57:48 -08:00
analyze-branch.ll [RISCV][NFC] Regenerate RISCV CodeGen tests 2020-12-09 19:42:49 +00:00
arith-with-overflow.ll
atomic-cmpxchg-flag.ll
atomic-cmpxchg.ll [RISCV] Teach isel to select ADDW/SUBW/MULW/SLLIW when only the lower 32-bits are used. 2021-08-18 10:22:00 -07:00
atomic-fence.ll
atomic-load-store.ll [RISCV][NFC] Regenerate RISCV CodeGen tests 2020-12-09 19:42:49 +00:00
atomic-rmw.ll [RISCV] Teach isel to select ADDW/SUBW/MULW/SLLIW when only the lower 32-bits are used. 2021-08-18 10:22:00 -07:00
atomic-signext.ll [RISCV] Teach isel to select ADDW/SUBW/MULW/SLLIW when only the lower 32-bits are used. 2021-08-18 10:22:00 -07:00
attributes.ll [RISCV] Update the version number to v0.10 for vector. 2021-01-30 07:20:05 +08:00
blockaddress.ll [RISCV] Fix inaccurate annotations on PseudoBRIND 2020-08-21 11:38:42 +01:00
branch-relaxation.ll [RISCV] Indirect branch generation in position independent code 2020-08-17 13:09:26 +01:00
branch.ll [RISCV] Add isel-patterns to optimize (a < 1) into blez (a <= 0) 2021-03-15 11:32:43 -07:00
bswap-ctlz-cttz-ctpop.ll Revert "Allow rematerialization of virtual reg uses" 2021-08-18 00:12:41 -07:00
byval.ll [RISCV][NFC] Regenerate RISCV CodeGen tests 2020-12-09 19:42:49 +00:00
callee-saved-fpr32s.ll [RISCV][NFC] Regenerate Calling Convention Tests 2021-01-14 22:35:17 +00:00
callee-saved-fpr64s.ll [RISCV][NFC] Regenerate Calling Convention Tests 2021-01-14 22:35:17 +00:00
callee-saved-gprs.ll [RISCV][NFC] Regenerate Calling Convention Tests 2021-01-14 22:35:17 +00:00
calling-conv-half.ll [RISCV] Improve constant materialization for stores of i16 or i32 negative constants. 2021-08-18 10:25:12 -07:00
calling-conv-ilp32-ilp32f-common.ll [RISCV][NFC] Regenerate Calling Convention Tests 2021-01-14 22:35:17 +00:00
calling-conv-ilp32-ilp32f-ilp32d-common.ll [RISCV][NFC] Regenerate Calling Convention Tests 2021-01-14 22:35:17 +00:00
calling-conv-ilp32.ll [RISCV][NFC] Regenerate Calling Convention Tests 2021-01-14 22:35:17 +00:00
calling-conv-ilp32d.ll [RISCV][NFC] Regenerate Calling Convention Tests 2021-01-14 22:35:17 +00:00
calling-conv-ilp32f-ilp32d-common.ll [RISCV][NFC] Regenerate Calling Convention Tests 2021-01-14 22:35:17 +00:00
calling-conv-lp64-lp64f-common.ll [RISCV][NFC] Regenerate Calling Convention Tests 2021-01-14 22:35:17 +00:00
calling-conv-lp64-lp64f-lp64d-common.ll [RISCV] Teach isel to select ADDW/SUBW/MULW/SLLIW when only the lower 32-bits are used. 2021-08-18 10:22:00 -07:00
calling-conv-lp64.ll [RISCV][NFC] Regenerate Calling Convention Tests 2021-01-14 22:35:17 +00:00
calling-conv-rv32f-ilp32.ll [RISCV][NFC] Regenerate Calling Convention Tests 2021-01-14 22:35:17 +00:00
calling-conv-sext-zext.ll [RISCV] Don't print zext.b alias. 2021-01-05 10:41:08 -08:00
calling-conv-vector-float.ll [RISCV] Fix a crash when lowering split float arguments 2021-07-22 09:55:26 +01:00
calls.ll [RISCV] Prevent use of t0(aka x5) as rs1 for jalr instructions. 2021-07-13 09:46:21 -07:00
cmp-bool.ll [DAGCombiner] Rebuild (setcc x, y, ==) from (xor (xor x, y), 1) 2020-07-15 07:34:22 +00:00
codemodel-lowering.ll [RISCV] Fix inaccurate annotations on PseudoBRIND 2020-08-21 11:38:42 +01:00
compress-float.ll
compress-inline-asm.ll
compress.ll [RISCV] Add support for printing pcrel immediates as absolute addresses in llvm-objdump 2020-12-04 10:34:12 -08:00
copy-frameindex.mir CodeGen: Print/parse LLTs in MachineMemOperands 2021-06-30 16:54:13 -04:00
copysign-casts.ll Revert "[RISCV] Use zexti32/sexti32 in srliw/sraiw isel patterns to improve usage of those instructions." 2021-06-27 10:33:43 -07:00
disable-tail-calls.ll
disjoint.ll CodeGen: Print/parse LLTs in MachineMemOperands 2021-06-30 16:54:13 -04:00
div.ll [RISCV] Teach isel to select ADDW/SUBW/MULW/SLLIW when only the lower 32-bits are used. 2021-08-18 10:22:00 -07:00
double-arith.ll [RISCV] Add an implementation of isFMAFasterThanFMulAndFAdd 2020-11-25 15:07:34 -08:00
double-bitmanip-dagcombines.ll [RISCV] Improve 64-bit integer materialization for some cases. 2021-04-01 09:12:52 -07:00
double-br-fcmp.ll [RISCV] Add DAG combine to turn (setcc X, 1, setne) -> (setcc X, 0, seteq) if we can prove X is 0/1. 2021-01-19 11:21:48 -08:00
double-calling-conv.ll [RISCV][NFC] Regenerate RISCV CodeGen tests 2020-12-09 19:42:49 +00:00
double-convert.ll [RISCV] Support FP_TO_S/UINT_SAT for i32 and i64. 2021-08-07 16:06:00 -07:00
double-fcmp.ll [LegalizeDAG][RISCV][PowerPC][AMDGPU][WebAssembly] Improve expansion of SETONE/SETUEQ on targets without SETO/SETUO. 2021-01-12 10:45:03 -08:00
double-frem.ll [RISCV][NFC] Regenerate RISCV CodeGen tests 2020-12-09 19:42:49 +00:00
double-imm.ll
double-intrinsics.ll [RISCV] Implement lround*/llround*/lrint*/llrint* with fcvt instruction with -fno-math-errno 2021-07-06 11:43:22 -07:00
double-isnan.ll [RISCV][LegalizeDAG] Expand SETO and SETUO comparisons. Teach LegalizeDAG to expand SETUO expansion when UNE isn't legal. 2020-12-10 09:15:52 -08:00
double-mem.ll [RISCV] Teach RISCVMatInt about cases where it can use LUI+SLLI to replace LUI+ADDI+SLLI for large constants. 2021-07-20 09:22:06 -07:00
double-previous-failure.ll [RISCV][NFC] Regenerate RISCV CodeGen tests 2020-12-09 19:42:49 +00:00
double-select-fcmp.ll [RISCV] Optimize select_cc after fp compare expansion 2021-01-14 13:41:40 -08:00
double-stack-spill-restore.ll [RISCV] Insert sext_inreg when type legalizing add/sub/mul with constant LHS. 2021-08-18 10:44:25 -07:00
dwarf-eh.ll
elf-preemption.ll [RISCV] Prefer to lower MC_GlobalAddress operands to .Lfoo$local 2021-05-11 11:29:45 -07:00
exception-pointer-register.ll [RISCV][NFC] Regenerate RISCV CodeGen tests 2020-12-09 19:42:49 +00:00
fastcc-float.ll [RISCV] Fix a crash when lowering split float arguments 2021-07-22 09:55:26 +01:00
fastcc-int.ll [RISCV][NFC] Regenerate RISCV CodeGen tests 2020-12-09 19:42:49 +00:00
fixups-diff.ll test: clean up some of the RISCV tests (NFC) 2021-06-17 09:51:09 -07:00
fixups-relax-diff.ll test: clean up some of the RISCV tests (NFC) 2021-06-17 09:51:09 -07:00
float-arith.ll [RISCV] Add an implementation of isFMAFasterThanFMulAndFAdd 2020-11-25 15:07:34 -08:00
float-bit-preserving-dagcombines.ll [RISCV] Improve 64-bit integer materialization for some cases. 2021-04-01 09:12:52 -07:00
float-bitmanip-dagcombines.ll
float-br-fcmp.ll [RISCV] Add DAG combine to turn (setcc X, 1, setne) -> (setcc X, 0, seteq) if we can prove X is 0/1. 2021-01-19 11:21:48 -08:00
float-convert.ll [RISCV] Support FP_TO_S/UINT_SAT for i32 and i64. 2021-08-07 16:06:00 -07:00
float-fcmp.ll [LegalizeDAG][RISCV][PowerPC][AMDGPU][WebAssembly] Improve expansion of SETONE/SETUEQ on targets without SETO/SETUO. 2021-01-12 10:45:03 -08:00
float-frem.ll [RISCV][NFC] Regenerate RISCV CodeGen tests 2020-12-09 19:42:49 +00:00
float-imm.ll
float-intrinsics.ll [RISCV] Implement lround*/llround*/lrint*/llrint* with fcvt instruction with -fno-math-errno 2021-07-06 11:43:22 -07:00
float-isnan.ll [RISCV][LegalizeDAG] Expand SETO and SETUO comparisons. Teach LegalizeDAG to expand SETUO expansion when UNE isn't legal. 2020-12-10 09:15:52 -08:00
float-mem.ll [RISCV] Teach RISCVMatInt about cases where it can use LUI+SLLI to replace LUI+ADDI+SLLI for large constants. 2021-07-20 09:22:06 -07:00
float-select-fcmp.ll [RISCV] Optimize select_cc after fp compare expansion 2021-01-14 13:41:40 -08:00
flt-rounds.ll
fold-addi-loadstore.ll [RISCV][test] Add explicit dso_local to definitions in ELF static relocation model tests 2020-12-30 15:28:11 -08:00
fp-imm.ll
fp16-promote.ll [RISCV] Use softPromoteHalf legalization for fp16 without Zfh rather than PromoteFloat. 2021-04-01 12:41:57 -07:00
fp128.ll [RISCV][NFC] Regenerate RISCV CodeGen tests 2020-12-09 19:42:49 +00:00
fpenv.ll [RISCV] Custom lowering of SET_ROUNDING 2021-04-22 15:04:55 +07:00
frame-info.ll [RISCV] Add implementation of targetShrinkDemandedConstant to optimize AND immediates. 2021-01-15 11:14:14 -08:00
frame.ll [RISCV][NFC] Regenerate RISCV CodeGen tests 2020-12-09 19:42:49 +00:00
frameaddr-returnaddr.ll [RISCV][NFC] Regenerate RISCV CodeGen tests 2020-12-09 19:42:49 +00:00
get-register-invalid.ll
get-register-noreserve.ll
get-register-reserve.ll
get-setcc-result-type.ll
ghccc-rv32.ll [RISCV][NFC] Regenerate RISCV CodeGen tests 2020-12-09 19:42:49 +00:00
ghccc-rv64.ll [RISCV][NFC] Regenerate RISCV CodeGen tests 2020-12-09 19:42:49 +00:00
half-arith.ll [RISCV] Add additional half precision fnmadd/fnmsub tests with an fneg on the second operand instead of the first. 2020-12-02 21:13:42 -08:00
half-bitmanip-dagcombines.ll [RISCV] Add optimizations for FMV_X_ANYEXTH similar to FMV_X_ANYEXTW_RV64. 2021-08-08 18:30:48 -07:00
half-br-fcmp.ll [RISCV] Add DAG combine to turn (setcc X, 1, setne) -> (setcc X, 0, seteq) if we can prove X is 0/1. 2021-01-19 11:21:48 -08:00
half-convert.ll [RISCV] Support FP_TO_S/UINT_SAT for i32 and i64. 2021-08-07 16:06:00 -07:00
half-fcmp.ll [LegalizeDAG][RISCV][PowerPC][AMDGPU][WebAssembly] Improve expansion of SETONE/SETUEQ on targets without SETO/SETUO. 2021-01-12 10:45:03 -08:00
half-imm.ll [RISCV] Support Zfh half-precision floating-point extension. 2020-12-03 09:16:33 +08:00
half-intrinsics.ll [RISCV] Implement lround*/llround*/lrint*/llrint* with fcvt instruction with -fno-math-errno 2021-07-06 11:43:22 -07:00
half-isnan.ll [RISCV][LegalizeDAG] Expand SETO and SETUO comparisons. Teach LegalizeDAG to expand SETUO expansion when UNE isn't legal. 2020-12-10 09:15:52 -08:00
half-mem.ll [RISCV] Teach RISCVMatInt about cases where it can use LUI+SLLI to replace LUI+ADDI+SLLI for large constants. 2021-07-20 09:22:06 -07:00
half-select-fcmp.ll [RISCV] Optimize select_cc after fp compare expansion 2021-01-14 13:41:40 -08:00
hoist-global-addr-base.ll [RISCV] Add isel-patterns to optimize (a < 1) into blez (a <= 0) 2021-03-15 11:32:43 -07:00
i32-icmp.ll
imm-cse.ll
imm.ll [RISCV] Improve constant materialization for stores of i16 or i32 negative constants. 2021-08-18 10:25:12 -07:00
indirectbr.ll [RISCV] Fix inaccurate annotations on PseudoBRIND 2020-08-21 11:38:42 +01:00
init-array.ll
inline-asm-S-constraint.ll [RISCV] Support machine constraint "S" 2021-07-13 09:30:09 -07:00
inline-asm-abi-names.ll [RISCV][NFC] Regenerate RISCV CodeGen tests 2020-12-09 19:42:49 +00:00
inline-asm-clobbers.ll
inline-asm-d-abi-names.ll [RISCV][NFC] Regenerate RISCV CodeGen tests 2020-12-09 19:42:49 +00:00
inline-asm-d-constraint-f.ll
inline-asm-f-abi-names.ll [RISCV][NFC] Regenerate RISCV CodeGen tests 2020-12-09 19:42:49 +00:00
inline-asm-f-constraint-f.ll
inline-asm-i-constraint-i1.ll
inline-asm-invalid.ll
inline-asm.ll [MC][RISCV] Set UseIntegratedAssembler to true 2020-07-12 21:04:48 -07:00
interrupt-attr-args-error.ll
interrupt-attr-callee.ll [RISCV][NFC] Regenerate RISCV CodeGen tests 2020-12-09 19:42:49 +00:00
interrupt-attr-invalid.ll
interrupt-attr-nocall.ll [RISCV][NFC] Regenerate RISCV CodeGen tests 2020-12-09 19:42:49 +00:00
interrupt-attr-ret-error.ll
interrupt-attr.ll [RISCV][NFC] Regenerate RISCV CodeGen tests 2020-12-09 19:42:49 +00:00
jumptable.ll [CGP][RISCV] Teach CodeGenPrepare::optimizeSwitchInst to honor isSExtCheaperThanZExt. 2021-06-23 15:38:11 -07:00
large-stack.ll [RISCV] remove redundant instruction when eliminate frame index 2021-03-21 18:54:00 +08:00
legalize-fneg.ll
lit.local.cfg
lsr-legaladdimm.ll
machineoutliner.mir
mattr-invalid-combination.ll
mem.ll [RISCV][test] Add explicit dso_local to definitions in ELF static relocation model tests 2020-12-30 15:28:11 -08:00
mem64.ll [RISCV][test] Add explicit dso_local to definitions in ELF static relocation model tests 2020-12-30 15:28:11 -08:00
mir-target-flags.ll [TargetMachine] Don't imply dso_local on function declarations in Reloc::Static model for ELF/wasm 2020-12-05 14:54:37 -08:00
module-target-abi.ll
module-target-abi2.ll
mul.ll [RISCV] Insert sext_inreg when type legalizing add/sub/mul with constant LHS. 2021-08-18 10:44:25 -07:00
musttail-call.ll OpaquePtr: Bulk update tests to use typed sret 2020-11-20 17:58:26 -05:00
neg-abs.ll [RISCV][NFC] Increase test coverage of Zbt extension 2021-01-18 17:30:35 +00:00
nomerge.ll
option-nopic.ll
option-norelax.ll
option-norvc.ll
option-pic.ll
option-relax.ll
option-rvc.ll
out-of-reach-emergency-slot.mir [RISCV][PrologEpilogInserter] "Float" emergency spill slots to avoid making them immediately unreachable from the stack pointer 2021-01-23 09:10:03 +00:00
patchable-function-entry.ll Revert "[RISCV] Remove -riscv-no-aliases in favour of new -M no-aliases" 2021-05-29 15:11:37 +01:00
pic-models.ll Revert "[RISCV] Avoid Splitting MBB in RISCVExpandPseudo" 2020-07-14 11:15:01 +01:00
pr40333.ll
pr51206.ll [RISCV] Restrict performANY_EXTENDCombine to prevent an infinite loop. 2021-07-28 09:05:45 -07:00
prefetch.ll
readcyclecounter.ll
rem.ll [RISCV] Add custom isel to select (and (srl X, C1), C2) and (and (shl X, C1), C2) 2021-07-20 08:53:55 -07:00
remat.ll [RISCV][NFC] Regenerate RISCV CodeGen tests 2020-12-09 19:42:49 +00:00
reserved-reg-errors.ll
reserved-regs.ll
rotl-rotr.ll
rv32e.ll
rv32i-rv64i-float-double.ll [RISCV][NFC] Regenerate RISCV CodeGen tests 2020-12-09 19:42:49 +00:00
rv32i-rv64i-half.ll Revert "Allow rematerialization of virtual reg uses" 2021-08-18 00:12:41 -07:00
rv32zba.ll [RISCV][test] Add new tests for add optimization in the zba extension 2021-08-19 19:59:23 +08:00
rv32zbb-intrinsic.ll [RISCV] Improve check prefixes in B extension tests. NFC 2021-08-12 12:41:40 -07:00
rv32zbb-zbp.ll Revert "Allow rematerialization of virtual reg uses" 2021-08-18 00:12:41 -07:00
rv32zbb.ll Revert "Allow rematerialization of virtual reg uses" 2021-08-18 00:12:41 -07:00
rv32zbc-intrinsic.ll [RISCV] Improve check prefixes in B extension tests. NFC 2021-08-12 12:41:40 -07:00
rv32zbe-intrinsic.ll [RISCV] Improve check prefixes in B extension tests. NFC 2021-08-12 12:41:40 -07:00
rv32zbp-intrinsic.ll [RISCV] Improve check prefixes in B extension tests. NFC 2021-08-12 12:41:40 -07:00
rv32zbp.ll Revert "Allow rematerialization of virtual reg uses" 2021-08-18 00:12:41 -07:00
rv32zbr.ll [RISCV] Add IR intrinsic for Zbr extension 2021-04-02 10:58:45 -07:00
rv32zbs.ll [RISCV] Improve check prefixes in B extension tests. NFC 2021-08-12 12:41:40 -07:00
rv32zbt.ll Revert "Allow rematerialization of virtual reg uses" 2021-08-18 00:12:41 -07:00
rv64-large-stack.ll [RISCV] Teach RISCVMatInt about cases where it can use LUI+SLLI to replace LUI+ADDI+SLLI for large constants. 2021-07-20 09:22:06 -07:00
rv64d-double-convert.ll [RISCV] Custom lower (i32 (fptoui/fptosi X)). 2021-07-24 10:50:43 -07:00
rv64f-float-convert.ll [RISCV] Custom lower (i32 (fptoui/fptosi X)). 2021-07-24 10:50:43 -07:00
rv64f-half-convert.ll [RISCV] Custom lower (i32 (fptoui/fptosi X)). 2021-07-24 10:50:43 -07:00
rv64i-complex-float.ll [RISCV][NFC] Regenerate RISCV CodeGen tests 2020-12-09 19:42:49 +00:00
rv64i-demanded-bits.ll [RISCV] Teach isel to select ADDW/SUBW/MULW/SLLIW when only the lower 32-bits are used. 2021-08-18 10:22:00 -07:00
rv64i-double-softfloat.ll [RISCV][NFC] Regenerate RISCV CodeGen tests 2020-12-09 19:42:49 +00:00
rv64i-exhaustive-w-insts.ll [RISCV] Insert sext_inreg when type legalizing add/sub/mul with constant LHS. 2021-08-18 10:44:25 -07:00
rv64i-single-softfloat.ll Update @llvm.powi to handle different int sizes for the exponent 2021-06-17 09:38:28 +02:00
rv64i-tricky-shifts.ll
rv64i-w-insts-legalization.ll [RISCV] Teach isel to select ADDW/SUBW/MULW/SLLIW when only the lower 32-bits are used. 2021-08-18 10:22:00 -07:00
rv64m-exhaustive-w-insts.ll [RISCV] Teach isel to select ADDW/SUBW/MULW/SLLIW when only the lower 32-bits are used. 2021-08-18 10:22:00 -07:00
rv64m-w-insts-legalization.ll Revert "[BPI] Improve static heuristics for integer comparisons" 2020-08-17 20:44:33 +02:00
rv64zba.ll [RISCV][test] Add new tests for add optimization in the zba extension 2021-08-19 19:59:23 +08:00
rv64zbb-intrinsic.ll [RISCV] Improve check prefixes in B extension tests. NFC 2021-08-12 12:41:40 -07:00
rv64zbb-zbp.ll [RISCV] Teach isel to select ADDW/SUBW/MULW/SLLIW when only the lower 32-bits are used. 2021-08-18 10:22:00 -07:00
rv64zbb.ll [RISCV] Teach isel to select ADDW/SUBW/MULW/SLLIW when only the lower 32-bits are used. 2021-08-18 10:22:00 -07:00
rv64zbc-intrinsic.ll [RISCV] Improve check prefixes in B extension tests. NFC 2021-08-12 12:41:40 -07:00
rv64zbe-intrinsic.ll [RISCV] Improve check prefixes in B extension tests. NFC 2021-08-12 12:41:40 -07:00
rv64zbp-intrinsic.ll [RISCV] Improve check prefixes in B extension tests. NFC 2021-08-12 12:41:40 -07:00
rv64zbp.ll [RISCV] Improve check prefixes in B extension tests. NFC 2021-08-12 12:41:40 -07:00
rv64zbr.ll [RISCV] Add IR intrinsic for Zbr extension 2021-04-02 10:58:45 -07:00
rv64zbs.ll [RISCV] Improve check prefixes in B extension tests. NFC 2021-08-12 12:41:40 -07:00
rv64zbt.ll [RISCV] Improve check prefixes in B extension tests. NFC 2021-08-12 12:41:40 -07:00
sadd_sat.ll [ISel] Expand saddsat and ssubsat via asr and xor 2021-08-19 16:08:07 +01:00
sadd_sat_plus.ll [ISel] Expand saddsat and ssubsat via asr and xor 2021-08-19 16:08:07 +01:00
saverestore.ll [RISCV] Don't emit save-restore call if function is a interrupt handler 2021-04-16 12:54:47 +08:00
scalable-vector-struct.ll [RISCV] Use whole register load/store for generic load/store. 2021-02-09 15:52:04 +08:00
sdata-limit-0.ll
sdata-limit-4.ll
sdata-limit-8.ll
sdata-local-sym.ll
select-and.ll Recommit "[RISCV] Legalize select when Zbt extension available" 2021-01-21 12:07:44 -08:00
select-bare.ll Recommit "[RISCV] Legalize select when Zbt extension available" 2021-01-21 12:07:44 -08:00
select-binop-identity.ll [RISCV] Fold (add (select lhs, rhs, cc, 0, y), x) -> (select lhs, rhs, cc, x, (add x, y)) 2021-08-10 09:02:56 -07:00
select-cc.ll [RISCV] Support RISCVISD::SELECT_CC in ComputeNumSignBitsForTargetNode. 2021-08-13 18:00:09 -07:00
select-const.ll Recommit "[RISCV] Legalize select when Zbt extension available" 2021-01-21 12:07:44 -08:00
select-optimize-multiple.ll [RISCV] Add more cmov isel patterns to handle seteq/ne with a small non-zero immediate. 2021-01-22 14:51:22 -08:00
select-optimize-multiple.mir [RISCV] Introduce a RISCV CondCode enum instead of using ISD:SET* in MIR. NFC 2021-08-08 17:25:37 -07:00
select-or.ll Recommit "[RISCV] Legalize select when Zbt extension available" 2021-01-21 12:07:44 -08:00
setcc-logic.ll [RISCV] Insert sext_inreg when type legalizing add/sub/mul with constant LHS. 2021-08-18 10:44:25 -07:00
sext-zext-trunc.ll [TargetLowering][RISCV] Don't transform (seteq/ne (sext_inreg X, VT), C1) -> (seteq/ne (zext_inreg X, VT), C1) if the sext_inreg is cheaper 2021-01-25 16:37:21 -08:00
shadowcallstack.ll [RISCV] Teach isel to select ADDW/SUBW/MULW/SLLIW when only the lower 32-bits are used. 2021-08-18 10:22:00 -07:00
shift-masked-shamt.ll [RISCV] Teach isel to select ADDW/SUBW/MULW/SLLIW when only the lower 32-bits are used. 2021-08-18 10:22:00 -07:00
shifts.ll [RISCV][NFC] Regenerate RISCV CodeGen tests 2020-12-09 19:42:49 +00:00
shrinkwrap.ll [RISCV][NFC] Regenerate RISCV CodeGen tests 2020-12-09 19:42:49 +00:00
spill-fpr-scalar.ll [RISCV] Avoid using x0,x0 vsetvli for vmv.x.s and vfmv.f.s unless we know the sew/lmul ratio is constant. 2021-07-23 09:12:05 -07:00
split-offsets.ll [RISCV] Insert sext_inreg when type legalizing add/sub/mul with constant LHS. 2021-08-18 10:44:25 -07:00
split-sp-adjust.ll [RISCV][NFC] Regenerate RISCV CodeGen tests 2020-12-09 19:42:49 +00:00
srem-lkk.ll [RISCV] Teach isel to select ADDW/SUBW/MULW/SLLIW when only the lower 32-bits are used. 2021-08-18 10:22:00 -07:00
srem-seteq-illegal-types.ll [RISCV] Teach isel to select ADDW/SUBW/MULW/SLLIW when only the lower 32-bits are used. 2021-08-18 10:22:00 -07:00
srem-vector-lkk.ll [RISCV] Teach isel to select ADDW/SUBW/MULW/SLLIW when only the lower 32-bits are used. 2021-08-18 10:22:00 -07:00
ssub_sat.ll [ISel] Expand saddsat and ssubsat via asr and xor 2021-08-19 16:08:07 +01:00
ssub_sat_plus.ll [ISel] Expand saddsat and ssubsat via asr and xor 2021-08-19 16:08:07 +01:00
stack-realignment-with-variable-sized-objects.ll [RISCV] Add implementation of targetShrinkDemandedConstant to optimize AND immediates. 2021-01-15 11:14:14 -08:00
stack-realignment.ll [RISCV] remove redundant instruction when eliminate frame index 2021-03-21 18:54:00 +08:00
stack-slot-size.ll [RISCV] Fix stack slot for argument types (Bug 49500) 2021-04-29 09:10:48 +01:00
stack-store-check.ll [RISCV][NFC] Regenerate RISCV CodeGen tests 2020-12-09 19:42:49 +00:00
subtarget-features-std-ext.ll
tail-calls.ll [RISCV] Prevent use of t0(aka x5) as rs1 for jalr instructions. 2021-07-13 09:46:21 -07:00
target-abi-invalid.ll
target-abi-valid.ll
thread-pointer.ll
tls-models.ll [RISCV][NFC] Regenerate RISCV CodeGen tests 2020-12-09 19:42:49 +00:00
uadd_sat.ll [RISCV] Improve i32 UADDSAT/USUBSAT on RV64. 2021-03-16 07:44:06 -07:00
uadd_sat_plus.ll [RISCV] Teach isel to select ADDW/SUBW/MULW/SLLIW when only the lower 32-bits are used. 2021-08-18 10:22:00 -07:00
umulo-128-legalisation-lowering.ll [RISCV][NFC] Regenerate RISCV CodeGen tests 2020-12-09 19:42:49 +00:00
urem-lkk.ll [RISCV] Teach isel to select ADDW/SUBW/MULW/SLLIW when only the lower 32-bits are used. 2021-08-18 10:22:00 -07:00
urem-seteq-illegal-types.ll [RISCV] Select vector shl by 1 to a vector add. 2021-07-27 10:57:28 -07:00
urem-vector-lkk.ll [RISCV] Teach isel to select ADDW/SUBW/MULW/SLLIW when only the lower 32-bits are used. 2021-08-18 10:22:00 -07:00
usub_sat.ll [RISCV] Improve i32 UADDSAT/USUBSAT on RV64. 2021-03-16 07:44:06 -07:00
usub_sat_plus.ll [RISCV] Teach isel to select ADDW/SUBW/MULW/SLLIW when only the lower 32-bits are used. 2021-08-18 10:22:00 -07:00
vararg.ll [RISCV] Insert sext_inreg when type legalizing add/sub/mul with constant LHS. 2021-08-18 10:44:25 -07:00
vec3-setcc-crash.ll Revert "[RISCV] Use zexti32/sexti32 in srliw/sraiw isel patterns to improve usage of those instructions." 2021-06-27 10:33:43 -07:00
vector-abi.ll CodeGen: Print/parse LLTs in MachineMemOperands 2021-06-30 16:54:13 -04:00
verify-instr.mir
wide-mem.ll [RISCV] Fold ADDIs into load/stores with nonzero offsets 2020-07-06 17:32:57 +01:00
xaluo.ll [RISCV] Remove sext_inreg+add/sub/mul/shl isel patterns. 2021-08-18 11:07:11 -07:00
zext-with-load-is-free.ll [RISCV][test] Add explicit dso_local to definitions in ELF static relocation model tests 2020-12-30 15:28:11 -08:00
zfh-imm.ll [RISCV] Support Zfh half-precision floating-point extension. 2020-12-03 09:16:33 +08:00