On Tue, May 24, 2016 at 9:53 AM, Uros Bizjak <ubiz...@gmail.com> wrote: > 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?
target_flags is generic, not target specific. I want to limit my change to x86 backend and -mgeneral-regs-only doesn't need to use target_flags . -- H.J.