This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
On Sun, Apr 26, 2009 at 11:46 AM, H.J. Lu <hjl.tools@gmail.com> wrote: > On Sun, Apr 26, 2009 at 10:00 AM, Uros Bizjak <ubizjak@gmail.com> wrote: >> H.J. Lu wrote: >>> >>> On Sat, Apr 25, 2009 at 1:15 PM, Uros Bizjak <ubizjak@gmail.com> wrote: >>> >>>> >>>> Hello! >>>> >>>> Attached patch reverts %z handling of HImode operands back to previous >>>> (wrong) state until better fix is found. Unfortunately, integer and >>>> x87 operators don't agree which suffix to use for integer operands. >>>> >>>> 2009-04-25 ?Uros Bizjak ?<ubizjak@gmail.com> >>>> >>>> ? ? ? PR target/39897 >>>> ? ? ? * config/i386/i386.c (print_operand) ['z']: Revert handling of >>>> ? ? ? HImode operands. >>>> >>>> Tested on x86_64-pc-linux-gnu {,-m32}, committed to mainline. >>>> >>>> >>> >>> This doesn't solve the problem. You need to add the 'w' suffix for integer >>> instructions with memory operand. >>> >> >> This is how %z always worked and that is excatly the reason why I try to fix >> this wrong behaviour. >> > > I am testing a patch in > > http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39911 > > Since "%z' never really worked on integer instructions, I made "%Z" for > integer instructions only while providing backward compatibility for existing > asm statements. > This is the patch with a testcase. Tested on Linux/Intel64 with both 32/64 bits. OK for trunk? Thanks. -- H.J. --- gcc/ 2009-04-26 H.J. Lu <hongjiu.lu@intel.com> PR target/39911 * config/i386/i386.c (ix86_file_end): Replace "%z0" with "%Z0". (output_set_got): Likewise. (output_set_got): Likewise. (x86_output_mi_thunk): Likewise. (print_operand): Restore 'z' handling. Make 'Z' for integer insntructions only. (output_fix_trunc): Use '%z' to output suffix of fist{,p,tp} insn. * config/i386/i386.md (*floathi<mode>2_i387): Use '%z' to output suffix of fild insn. (*floatsi<mode>2_vector_mixed): Ditto. (*float<SSEMODEI24:mode><MODEF:mode>2_mixed_interunit): Ditto. (*float<SSEMODEI24:mode><MODEF:mode>2_mixed_nointerunit): Ditto. (*float<SSEMODEI24:mode><X87MODEF:mode>2_i387_with_temp): Ditto. (*float<SSEMODEI24:mode><X87MODEF:mode>2_i387): Ditto. gcc/testsuite/ 2009-04-26 H.J. Lu <hongjiu.lu@intel.com> PR target/39911 * gcc.target/i386/pr39911.c: New.
Attachment:
gcc-pr39911-2.patch
Description: Text document
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |