I saw many redundant scalar modes: E_CDImode, /* machmode.def:267 */ #define HAVE_CDImode #ifdef USE_ENUM_MODES #define CDImode E_CDImode #else #define CDImode (complex_mode ((complex_mode::from_int) E_CDImode)) #endif E_CTImode, /* machmode.def:267 */ #define HAVE_CTImode #ifdef USE_ENUM_MODES #define CTImode E_CTImode #else #define CTImode (complex_mode ((complex_mode::from_int) E_CTImode)) #endif E_HCmode, /* machmode.def:269 */ #define HAVE_HCmode #ifdef USE_ENUM_MODES #define HCmode E_HCmode #else #define HCmode (complex_mode ((complex_mode::from_int) E_HCmode)) #endif E_SCmode, /* machmode.def:269 */ #define HAVE_SCmode #ifdef USE_ENUM_MODES #define SCmode E_SCmode #else #define SCmode (complex_mode ((complex_mode::from_int) E_SCmode)) #endif E_DCmode, /* machmode.def:269 */ #define HAVE_DCmode #ifdef USE_ENUM_MODES #define DCmode E_DCmode #else #define DCmode (complex_mode ((complex_mode::from_int) E_DCmode)) #endif E_TCmode, /* machmode.def:269 */ #define HAVE_TCmode #ifdef USE_ENUM_MODES #define TCmode E_TCmode #else #define TCmode (complex_mode ((complex_mode::from_int) E_TCmode)) #endif ... These scalar modes are redundant I think, can we forbid them? There are 40+ scalar modes that are not used. juzhe.zhong@rivai.ai From: juzhe.zhong@rivai.ai Date: 2023-04-10 23:22 To: jakub; Jeff Law CC: gcc-patches; kito.cheng; palmer; richard.sandiford; rguenther Subject: Re: Re: [PATCH] machine_mode type size: Extend enum size from 8-bit to 16-bit Yeah, aarch64 already has 178, RVV has much more types than aarch64... You can see intrinsic doc: https://github.com/riscv-non-isa/rvv-intrinsic-doc/blob/eopc/tuple-type-for-seg-load-store/auto-generated/intrinsic_funcs/02_vector_unit-stride_segment_load_store_instructions_zvlsseg.md api number explodes. As well as tuples types in RVV much more than aarch64. Maybe we need to ask RVV api doc maintainer to reduce types && api of RVV? Not sure. I think kito may help for this. juzhe.zhong@rivai.ai From: Jakub Jelinek Date: 2023-04-10 23:18 To: Jeff Law CC: juzhe.zhong; gcc-patches; kito.cheng; palmer; richard.sandiford; rguenther Subject: Re: [PATCH] machine_mode type size: Extend enum size from 8-bit to 16-bit On Mon, Apr 10, 2023 at 08:54:12AM -0600, Jeff Law wrote: > This is likely going to be very controversial. It's going to increase the > size of two of most heavily used data structures in GCC (rtx and trees). > > The first thing I would ask is whether or not we really need the full matrix > in practice or if we can combine some of the modes. > > Why hasn't aarch64 stumbled over this problem? From what I can see, x86 has 130 modes and aarch64 178 right now. Jakub