llvm-project/llvm/test/CodeGen
Ties Stuij 82a5f1c62b [AArch64] use CNT for ISD::popcnt and ISD::parity if available
These are the two places where we explicitly want to use cnt in
SelectionDAG when feature CSSC is available: ISD::popcnt and ISD::parity

For both, we need to make sure we're emitting optimized code for i32 (and
lower), i64 and i128. The most optimal way is of course using the GPR CNT
instruction. If we don't have CSSC, but we do have neon, we'll use floating
point CNT. If all fails, we'll fall back on the general GPR popcnt and parity
implementations.

spec:
https://developer.arm.com/documentation/ddi0602/2022-09/Base-Instructions/CNT--Count-bits-

Reviewed By: lenary

Differential Revision: https://reviews.llvm.org/D138808
2022-12-02 11:27:14 +00:00
..
AArch64 [AArch64] use CNT for ISD::popcnt and ISD::parity if available 2022-12-02 11:27:14 +00:00
AMDGPU AMDGPU: Convert some assorted tests to opaque pointers 2022-12-01 21:40:30 -05:00
ARC [ARC] Regenerate ldst.ll 2022-10-29 14:09:58 +01:00
ARM [test] Switch to use -passes syntax in various test cases 2022-12-01 21:25:59 +01:00
AVR [AVR] Do not use R0/R1 on avrtiny 2022-11-28 18:05:55 +01:00
BPF Revert "[CodeGen] Add new pass for late cleanup of redundant definitions." 2022-12-01 13:29:24 -05:00
CSKY [CSKY] Lower ISD::ConstantPool node to support getting the address of ConstantPool entry 2022-11-21 10:37:20 +08:00
DirectX [DirectX backend] Fix build and test error caused by out of sync with upstream change. 2022-11-14 12:50:23 -08:00
Generic [AVR] Convert test to check 'target=avr.*' 2022-12-01 13:41:10 -08:00
Hexagon [test] Switch to use -passes syntax in various test cases 2022-12-01 21:25:59 +01:00
Inputs
Lanai
LoongArch [LoongArch] Fix tests after comment change 2022-12-01 22:08:21 +00:00
M68k [X86] Add ExpandLargeFpConvert Pass and enable for X86 2022-12-01 13:47:43 +08:00
MIR AMDGPU: Remove ImagePSV and move images to addrspace 7 2022-11-30 11:32:34 +01:00
MLRegalloc [NVPTX] Convert tests to check 'target=nvptx.*' 2022-12-01 09:01:48 -08:00
MSP430
Mips Revert "[CodeGen] Add new pass for late cleanup of redundant definitions." 2022-12-01 13:29:24 -05:00
NVPTX [NVPTX] Fix alignment for arguments of function pointer calls 2022-11-15 21:43:06 +03:00
PowerPC [PowerPC] move ctrloop pass before tail duplication 2022-12-02 00:31:00 -05:00
RISCV [RISCV] Add ADDW/AND/OR/XOR/SUB/SUBW to getRegAllocHints. 2022-12-01 11:09:38 -08:00
SPARC [SPARC] Add tail call support for 64-bit target 2022-11-26 23:29:05 -05:00
SPIRV [SPIRV] support the enqueue_kernel builtin function 2022-11-01 02:52:08 +03:00
SystemZ Revert "[CodeGen] Add new pass for late cleanup of redundant definitions." 2022-12-01 13:29:24 -05:00
Thumb Revert "[CodeGen] Add new pass for late cleanup of redundant definitions." 2022-12-01 13:29:24 -05:00
Thumb2 Revert "[CodeGen] Add new pass for late cleanup of redundant definitions." 2022-12-01 13:29:24 -05:00
VE [SDAG] avoid udiv/urem transform for vector/scalar type mismatches 2022-11-15 11:01:18 -05:00
WebAssembly [WebAssembly] Move debug tests into DebugInfo 2022-11-29 11:13:42 -08:00
WinCFGuard
WinEH
X86 Revert "[Windows SEH]: HARDWARE EXCEPTION HANDLING (MSVC -EHa) - Part 2" 2022-12-02 02:44:18 -08:00
XCore Revert "[CodeGen] Add new pass for late cleanup of redundant definitions." 2022-12-01 13:29:24 -05:00