On Thu, Jul 1, 2021 at 3:07 PM Uros Bizjak <ubiz...@gmail.com> wrote: > > On Wed, Jun 30, 2021 at 12:50 PM Richard Biener > <richard.guent...@gmail.com> wrote: > > > > On Wed, Jun 30, 2021 at 10:47 AM Uros Bizjak via Gcc-patches > > <gcc-patches@gcc.gnu.org> wrote: > > > > > > This RFC patch changes the type of predicates to bool. However, some > > > of the targets (e.g. x86) use indirect functions to call the > > > predicates, so without the local change, the build fails. Putting the > > > patch through CI bots should weed out the problems, but I have no > > > infrastructure to do it myself. > > > > I'd say thanks for the work - note building some cc1 crosses should > > catch 99% of the fallout (just configure $target-linux/elf and make all-gcc) > > Thanks for the hint, I have tested the patch on arm-eabi, {x86_64, > i386, aarch64, mips, m68k, h8300}-elf and {ppc64le, hppa, s390, ia64, > riscv, sh, sparc}-linux. The fallout, fixed by the attached v1 patch, > was surprisingly small, so I hope there remains no (otherwise easily > fixable) build errors.
OK. Thanks, Richard. > 2021-07-01 Uroš Bizjak <ubiz...@gmail.com> > > gcc/ > * genpreds.c (write_predicate_subfunction): > Change the type of written subfunction to bool. > (write_one_predicate_function): > Change the type of written function to bool. > (write_tm_preds_h): Ditto. > * recog.h (*insn_operand_predicate_fn): Change the type to bool. > * recog.c (general_operand): Change the type to bool. > (address_operand): Ditto. > (register_operand): Ditto. > (pmode_register_operand): Ditto. > (scratch_operand): Ditto. > (immediate_operand): Ditto. > (const_int_operand): Ditto. > (const_scalar_int_operand): Ditto. > (const_double_operand): Ditto. > (nonimmediate_operand): Ditto. > (nonmemory_operand): Ditto. > (push_operand): Ditto. > (pop_operand): Ditto. > (memory_operand): Ditto. > (indirect_operand): Ditto. > (ordered_comparison_operator): Ditto. > (comparison_operator): Ditto. > > * config/i386/i386-expand.c (ix86_expand_sse_cmp): > Change the type of indirect predicate function to bool. > > * config/rs6000/rs6000.c (easy_vector_constant): > Change the type to bool. > > * config/mips/mips-protos.h (m16_based_address_p): > Change the type of operand 3 to bool. > > OK for the trunk? > > Uros.