On 7/3/24 21:35, Xi Ruoyao wrote: > On Sun, 2024-06-30 at 17:47 -0700, Vineet Gupta wrote: >> - Don't hardcode SI in patterns, try to keep X to avoid potential >> sign extension pitfalls. Implementation wise requires skipping >> :MODE specifier in match_operand which is flagged as missing mode >> warning. > I'm unsure about this. GCC Internal says: > > ‘isfinitem2’ > Return 1 if operand 1 is a finite floating point number and 0 otherwise. > m is a scalar floating point mode. Operand 0 has mode SImode, and > operand 1 has mode m. > > Likewise for isnormalm2. BTW isinfm2 is missing in the page. > > So per the doc SImode is required. At least the doc should be updated > to say "operand 0 has an integer mode" or something if doing so is > intentionally allowed.
While the man page does say these return int, for which SI mode whould suffice, I feel that keeping it X is more flexible. So we should change the gcc documentation - so you want to send a patch ? -Vineet