On Mon, Mar 12, 2012 at 12:40 AM, Uros Bizjak <ubiz...@gmail.com> wrote: > On Mon, Mar 12, 2012 at 12:02 AM, H.J. Lu <hongjiu...@intel.com> wrote: > >> leave_rex64 works on DImode and sse3_monitor64 works on Pmode. This >> patch properly sets ix86_gen_leave and ix86_gen_monitor, depending on >> TARGET_64BIT and Pmode. Tested on Linux/x86-64. OK for trunk? >> >> 2012-03-11 H.J. Lu <hongjiu...@intel.com> >> >> * config/i386/i386.c (ix86_option_override_internal): Properly >> set ix86_gen_leave and ix86_gen_monitor. Check Pmode == DImode. >> >> * config/i386/sse.md (sse3_monitor64): Renamed to ... >> (sse3_monitor64_<mode>): This. > > Please provide more descriptive ChangeLog. You are changing the check > on quite some global variables, please state them explicitly.
Here is the ChangeLog entry I checked in. > Otherwise the patch is OK. > > BTW: I sincerely hope you reviewed all the places where these globals > are used... > > Uros. I verified that those ix86_gen_xxx function pointers I changed to check Pmode == DImode are used to work on Pmode, like stack or pointers. Thanks. -- H.J. --- 2012-03-12 H.J. Lu <hongjiu...@intel.com> * config/i386/i386.c (ix86_option_override_internal): Properly set ix86_gen_leave and ix86_gen_monitor. Check Pmode == DImode, instead of TARGET_64BIT, to set ix86_gen_add3, ix86_gen_sub3, ix86_gen_one_cmpl2, ix86_gen_andsp, ix86_gen_allocate_stack_worker, ix86_gen_adjust_stack_and_probe and ix86_gen_probe_stack_range. * config/i386/sse.md (sse3_monitor64): Renamed to ... (sse3_monitor64_<mode>): This.