On Tue, May 24, 2016 at 6:22 PM, H.J. Lu <hjl.to...@gmail.com> wrote: > On Tue, May 24, 2016 at 8:52 AM, Uros Bizjak <ubiz...@gmail.com> wrote: >> On Tue, May 24, 2016 at 5:40 PM, H.J. Lu <hjl.to...@gmail.com> wrote: >> >>>> No, this is a flag, not a variable. Let's figure out how to extend >>>> target flags to more than 63 flags first. >>> >>> Extending target flags to more than 63 bits requires replacing >>> HOST_WIDE_INT with a bit vector. Since target flags is used in >>> TARGET_SUBTARGET_DEFAULT, change it to a bit vector is a >>> non-trivial change. On the other hand, -mgeneral-regs-only is a >>> command-line option which doesn't require support for >>> TARGET_SUBTARGET_DEFAULT, similar to other -m options like >>> -mmitigate-rop. Using flag_general_regs_only is an option. >> >> I have been informed that Intel people are looking into how to extend >> target flags to accommodate additional ISA flags. There is no point to >> hurry with an unoptimal solution. Perhaps you can coordinate your >> patch with their efforts? > > iISA flags use x86_isa_flags, not target_flags. -mgeneral-regs-only > shouldn't use x86_isa_flags. It was my oversight to use target_flags > with -mgeneral-regs-only to begin with. I don't think using > flag_general_regs_only is not an optimal solution, which I should have > used in the first place. The x86 change for interrupt handler depends > on -mgeneral-regs-only.
Oh, target_flags is only a 32bit integer :(. Is there a reason it can't be extended to HOST_WIDE_INT, as is the case with ix86_isa_flags? Uros.