[Patch] Fix instruction length of jcc_fused
H.J. Lu
hjl.tools@gmail.com
Fri Sep 19 07:03:00 GMT 2008
On Thu, Sep 18, 2008 at 5:52 PM, Ye, Joey <joey.ye@intel.com> wrote:
> Oops, this patch needn't core2.md.
>
> Index: i386.md
> ===================================================================
> --- i386.md (revision 3923)
> +++ i386.md (working copy)
> @@ -421,6 +421,9 @@
> ]
> (const_int 1)))
>
> +(define_attr "length_jcc_fuse" ""
> + (const_int 0))
> +
> ;; The (bounding maximum) length of an instruction in bytes.
> ;; ??? fistp and frndint are in fact fldcw/{fistp,frndint}/fldcw
> sequences.
> ;; Later we may want to split them and compute proper length as for
> @@ -442,7 +445,8 @@
> (plus (attr "prefix_rep")
> (plus (attr "prefix_data16")
> (plus (attr "length_immediate")
> - (attr "length_address")))))))
> + (plus (attr "length_address")
> + (attr "length_jcc_fuse"))))))))
>
> ;; The `memory' attribute is `none' if no memory is referenced, `load'
> or
> ;; `store' if there is a simple memory reference therein, or `unknown'
> @@ -14033,7 +14037,8 @@
> return "test{<imodesuffix>}\t%2, %2\n\t"
> "%+j%E1\t%l0\t" ASM_COMMENT_START " fused";
> }
> - [(set_attr "type" "multi")
> + [(set_attr "type" "icmp")
> + (set_attr "length_jcc_fuse" "2")
> (set_attr "mode" "<MODE>")])
>
Can you set insn length directly without length_jcc_fuse nor changing type
to "icmp"?
--
H.J.
More information about the Gcc-patches
mailing list