This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Fwd: [x86, PATCH] More effecient code for short unsigned conversion to float-point.
- From: Uros Bizjak <ubizjak at gmail dot com>
- To: Kirill Yukhin <kirill dot yukhin at gmail dot com>
- Cc: Yuri Rumyantsev <ysrumyan at gmail dot com>, Richard Henderson <rth at redhat dot com>, GCC Patches <gcc-patches at gcc dot gnu dot org>
- Date: Mon, 12 Aug 2013 18:21:21 +0200
- Subject: Re: Fwd: [x86, PATCH] More effecient code for short unsigned conversion to float-point.
- References: <CAEoMCqQib5krMaYmK+3Ezpq0pxRqQbYA11X63J4uhVxHzhn6gg at mail dot gmail dot com> <CAFULd4b6h23PE7itQ4VDb6Z4P=M=HWwd91_V28R+zYNTtu6DMQ at mail dot gmail dot com> <CAFULd4baMTxfrKbJ9iMbdJz46dWVYPAq5jGghMGZ+K3U0gax_w at mail dot gmail dot com> <CAEoMCqSd7ywNa5oH+Bea8cR_0Yd1ykGg6zxxyk--kRpTJ_vf6w at mail dot gmail dot com> <CAFULd4ag6-R_5bgP6VE6gdTkB_UOOcec2YQtKpLfWdKJ75=HuQ at mail dot gmail dot com> <CAEoMCqQ4fk2p+P=K+piX1drSE_MGDkaTjHtfL0_O5dK7rWve=Q at mail dot gmail dot com> <CAFULd4YVZO2NAGeB4R7s_r4e0Gc1sQAnywT5jGAOUVOH_5Eyfw at mail dot gmail dot com> <CAEoMCqSh6MCpL5PpcOwwN6_xEmtaG8xD63JFzYH1HP7WxUSvXw at mail dot gmail dot com> <CAFULd4Y75JVFmyOwTbHjmCnqq9TczOW2wQGLje_QRYGfcwk=aA at mail dot gmail dot com> <CAEoMCqTGVd0H0D5Y2hKr-wZ_aZ88Kh1c8vy=GL3nz5F1Wah6Tw at mail dot gmail dot com> <20130812123154 dot GA43012 at msticlxl57 dot ims dot intel dot com>
On Mon, Aug 12, 2013 at 2:31 PM, Kirill Yukhin <kirill.yukhin@gmail.com> wrote:
>
> part of the thread was accidentally removed from gcc-patches.
>
> I've comitted Yuri's patch into ML: http://gcc.gnu.org/ml/gcc-cvs/2013-08/msg00272.html
>
> As far as discussion was out of ML - feel free to object.
I have changed X87MODEF mode iterator to MODEF, since SSE_FLOAT_MODE_P
is always false for XFmode.
2013-08-12 Uros Bizjak <ubizjak@gmail.com>
* config/i386/i386.md (floatunssi<mode>2 expand): Use MODEF mode
iterator instead of X87MODEF.
Tested on x86_64-pc-linux-gnu {,-m32}, will be committed to mainline SVN.
Uros.
Index: i386.md
===================================================================
--- i386.md (revision 201665)
+++ i386.md (working copy)
@@ -5037,15 +5037,15 @@
&& reload_completed"
[(set (match_dup 0) (float:X87MODEF (match_dup 1)))])
-(define_expand "floatuns<SWI12:mode><X87MODEF:mode>2"
- [(set (match_operand:X87MODEF 0 "register_operand")
- (unsigned_float:X87MODEF
+(define_expand "floatuns<SWI12:mode><MODEF:mode>2"
+ [(set (match_operand:MODEF 0 "register_operand")
+ (unsigned_float:MODEF
(match_operand:SWI12 1 "nonimmediate_operand")))]
"!TARGET_64BIT
- && SSE_FLOAT_MODE_P (<X87MODEF:MODE>mode) && TARGET_SSE_MATH"
+ && SSE_FLOAT_MODE_P (<MODEF:MODE>mode) && TARGET_SSE_MATH"
{
operands[1] = convert_to_mode (SImode, operands[1], 1);
- emit_insn (gen_floatsi<X87MODEF:mode>2 (operands[0], operands[1]));
+ emit_insn (gen_floatsi<MODEF:mode>2 (operands[0], operands[1]));
DONE;
})