* [PATCH, i386]: Switch x86 to TARGET_SUPPORTS_WIDE_INT
@ 2015-04-30 19:09 Uros Bizjak
2015-04-30 19:13 ` H.J. Lu
0 siblings, 1 reply; 6+ messages in thread
From: Uros Bizjak @ 2015-04-30 19:09 UTC (permalink / raw)
To: gcc-patches; +Cc: H.J. Lu, Jan Hubicka
[-- Attachment #1: Type: text/plain, Size: 1696 bytes --]
Hello!
Attached patch switches x86 to TARGET_SUPPORTS_WIDE_INT.
The patch builds on the fact that build requires
HOST_BITS_PER_WIDE_INT = 64 capable host. Taking this in account,
noticeable blocks of code can be removed, and all but one
immed_double_const can be removed.
The only wide-int mode that remains is TImode.
2015-04-30 Uros Bizjak <ubizjak@gmail.com>
* config/i386/i386.h (TARGET_SUPPORTS_WIDE_INT): New define.
* config/i386/i386.c (ix86_legitimate_constant_p): Handle TImode
as CONST_WIDE_INT, not CONST_DOUBLE.
(ix86_cannot_force_const_mem): Handle CONST_WIDE_INT.
(output_pic_addr_const): Do not handle VOIDmode CONST_DOUBLEs.
(ix86_find_base_term): Do not check for CONST_DOUBLE.
(ix86_print_operand): Do not handle non-FPmode CONST_DOUBLEs.
(ix86_build_signbit_mask): Rewrite using wide ints.
(ix86_split_to_parts) [HOST_BITS_PER_WIDE_INT < 64]: Remove.
(ix86_rtx_costs): Handle CONST_WIDE_INT.
(find_constant): Ditto.
* config/i386/i386.md (bts, btr, btc peepholes): Rewrite
using gen_int_mode.
* config/i386/predicates.md (x86_64_immediate_operand)
<case CONST_INT>: Remove HOST_BITS_PER_WIDE_INT == 32 code.
(x86_64_zext_immediate_operand): Remove CONST_DOUBLE handling.
<case CONST_INT>: Remove HOST_BITS_PER_WIDE_INT == 32 code.
(const0_operand): Also match const_wide_int.
(constm1_operand): Ditto.
(const1_operand): Ditto.
Patch was bootstrapped and regression tested on x86_64-linux-gnu
{,-m32} and i686-linux-gnu.
I won't be able to commit the patch until Monday. H.J., can you please
test it on your SPEC testers, so there won't be any surprises w.r.t.
performance issues.
Uros.
[-- Attachment #2: p.diff.txt --]
[-- Type: text/plain, Size: 10937 bytes --]
Index: config/i386/i386.c
===================================================================
--- config/i386/i386.c (revision 222610)
+++ config/i386/i386.c (working copy)
@@ -13075,7 +13075,7 @@ ix86_legitimate_constant_p (machine_mode, rtx x)
#endif
break;
- case CONST_DOUBLE:
+ case CONST_WIDE_INT:
if (GET_MODE (x) == TImode
&& x != CONST0_RTX (TImode)
&& !TARGET_64BIT)
@@ -13105,6 +13105,7 @@ ix86_cannot_force_const_mem (machine_mode mode, rt
switch (GET_CODE (x))
{
case CONST_INT:
+ case CONST_WIDE_INT:
case CONST_DOUBLE:
case CONST_VECTOR:
return false;
@@ -13131,7 +13132,7 @@ is_imported_p (rtx x)
/* Nonzero if the constant value X is a legitimate general operand
when generating PIC code. It is given that flag_pic is on and
- that X satisfies CONSTANT_P or is a CONST_DOUBLE. */
+ that X satisfies CONSTANT_P. */
bool
legitimate_pic_operand_p (rtx x)
@@ -14587,20 +14588,9 @@ output_pic_addr_const (FILE *file, rtx x, int code
break;
case CONST_DOUBLE:
- if (GET_MODE (x) == VOIDmode)
- {
- /* We can use %d if the number is <32 bits and positive. */
- if (CONST_DOUBLE_HIGH (x) || CONST_DOUBLE_LOW (x) < 0)
- fprintf (file, "0x%lx%08lx",
- (unsigned long) CONST_DOUBLE_HIGH (x),
- (unsigned long) CONST_DOUBLE_LOW (x));
- else
- fprintf (file, HOST_WIDE_INT_PRINT_DEC, CONST_DOUBLE_LOW (x));
- }
- else
- /* We can't handle floating point constants;
- TARGET_PRINT_OPERAND must handle them. */
- output_operand_lossage ("floating constant misused");
+ /* We can't handle floating point constants;
+ TARGET_PRINT_OPERAND must handle them. */
+ output_operand_lossage ("floating constant misused");
break;
case PLUS:
@@ -14960,8 +14950,7 @@ ix86_find_base_term (rtx x)
return x;
term = XEXP (x, 0);
if (GET_CODE (term) == PLUS
- && (CONST_INT_P (XEXP (term, 1))
- || GET_CODE (XEXP (term, 1)) == CONST_DOUBLE))
+ && CONST_INT_P (XEXP (term, 1)))
term = XEXP (term, 0);
if (GET_CODE (term) != UNSPEC
|| (XINT (term, 1) != UNSPEC_GOTPCREL
@@ -15965,7 +15954,7 @@ ix86_print_operand (FILE *file, rtx x, int code)
if (code != 'P' && code != 'p')
{
- if (CONST_INT_P (x) || GET_CODE (x) == CONST_DOUBLE)
+ if (CONST_INT_P (x))
{
if (ASSEMBLER_DIALECT == ASM_ATT)
putc ('$', file);
@@ -19442,12 +19431,9 @@ rtx
ix86_build_signbit_mask (machine_mode mode, bool vect, bool invert)
{
machine_mode vec_mode, imode;
- HOST_WIDE_INT hi, lo;
- int shift = 63;
- rtx v;
- rtx mask;
+ wide_int w;
+ rtx mask, v;
- /* Find the sign bit, sign extended to 2*HWI. */
switch (mode)
{
case V16SImode:
@@ -19459,7 +19445,6 @@ ix86_build_signbit_mask (machine_mode mode, bool v
vec_mode = mode;
mode = GET_MODE_INNER (mode);
imode = SImode;
- lo = 0x80000000, hi = lo < 0;
break;
case V8DImode:
@@ -19471,54 +19456,25 @@ ix86_build_signbit_mask (machine_mode mode, bool v
vec_mode = mode;
mode = GET_MODE_INNER (mode);
imode = DImode;
- if (HOST_BITS_PER_WIDE_INT >= 64)
- lo = (HOST_WIDE_INT)1 << shift, hi = -1;
- else
- lo = 0, hi = (HOST_WIDE_INT)1 << (shift - HOST_BITS_PER_WIDE_INT);
break;
case TImode:
case TFmode:
vec_mode = VOIDmode;
- if (HOST_BITS_PER_WIDE_INT >= 64)
- {
- imode = TImode;
- lo = 0, hi = (HOST_WIDE_INT)1 << shift;
- }
- else
- {
- rtvec vec;
+ imode = TImode;
+ break;
- imode = DImode;
- lo = 0, hi = (HOST_WIDE_INT)1 << (shift - HOST_BITS_PER_WIDE_INT);
-
- if (invert)
- {
- lo = ~lo, hi = ~hi;
- v = constm1_rtx;
- }
- else
- v = const0_rtx;
-
- mask = immed_double_const (lo, hi, imode);
-
- vec = gen_rtvec (2, v, mask);
- v = gen_rtx_CONST_VECTOR (V2DImode, vec);
- v = copy_to_mode_reg (mode, gen_lowpart (mode, v));
-
- return v;
- }
- break;
-
default:
gcc_unreachable ();
}
+ w = wi::set_bit_in_zero (GET_MODE_BITSIZE (mode) - 1,
+ GET_MODE_BITSIZE (mode));
if (invert)
- lo = ~lo, hi = ~hi;
+ w = wi::bit_not (w);
/* Force this value into the low part of a fp vector constant. */
- mask = immed_double_const (lo, hi, imode);
+ mask = immed_wide_int_const (w, imode);
mask = gen_lowpart (mode, mask);
if (vec_mode == VOIDmode)
@@ -22734,25 +22690,20 @@ ix86_split_to_parts (rtx operand, rtx *parts, mach
real_to_target (l, &r, mode);
/* Do not use shift by 32 to avoid warning on 32bit systems. */
- if (HOST_BITS_PER_WIDE_INT >= 64)
- parts[0]
- = gen_int_mode
- ((l[0] & (((HOST_WIDE_INT) 2 << 31) - 1))
- + ((((HOST_WIDE_INT) l[1]) << 31) << 1),
- DImode);
- else
- parts[0] = immed_double_const (l[0], l[1], DImode);
+ parts[0]
+ = gen_int_mode
+ ((l[0] & (((HOST_WIDE_INT) 2 << 31) - 1))
+ + ((((HOST_WIDE_INT) l[1]) << 31) << 1),
+ DImode);
if (upper_mode == SImode)
parts[1] = gen_int_mode (l[2], SImode);
- else if (HOST_BITS_PER_WIDE_INT >= 64)
+ else
parts[1]
= gen_int_mode
((l[2] & (((HOST_WIDE_INT) 2 << 31) - 1))
+ ((((HOST_WIDE_INT) l[3]) << 31) << 1),
DImode);
- else
- parts[1] = immed_double_const (l[2], l[3], DImode);
}
else
gcc_unreachable ();
@@ -42019,12 +41970,11 @@ ix86_rtx_costs (rtx x, int code_i, int outer_code_
*total = 0;
return true;
+ case CONST_WIDE_INT:
+ *total = 0;
+ return true;
+
case CONST_DOUBLE:
- if (mode == VOIDmode)
- {
- *total = 0;
- return true;
- }
switch (standard_80387_constant_p (x))
{
case 1: /* 0.0 */
@@ -50652,6 +50602,7 @@ find_constant (rtx in_rtx, imm_info *imm_values)
break;
case CONST_DOUBLE:
+ case CONST_WIDE_INT:
(imm_values->imm)++;
(imm_values->imm64)++;
break;
Index: config/i386/i386.h
===================================================================
--- config/i386/i386.h (revision 222610)
+++ config/i386/i386.h (working copy)
@@ -2563,6 +2563,8 @@ extern void debug_dispatch_window (int);
/* For switching between functions with different target attributes. */
#define SWITCHABLE_TARGET 1
+#define TARGET_SUPPORTS_WIDE_INT 1
+
/*
Local variables:
version-control: t
Index: config/i386/i386.md
===================================================================
--- config/i386/i386.md (revision 222610)
+++ config/i386/i386.md (working copy)
@@ -10686,17 +10686,10 @@
"TARGET_64BIT && !TARGET_USE_BT"
[(const_int 0)]
{
- HOST_WIDE_INT i = INTVAL (operands[1]), hi, lo;
- rtx op1;
+ int i = INTVAL (operands[1]);
- if (HOST_BITS_PER_WIDE_INT >= 64)
- lo = (HOST_WIDE_INT)1 << i, hi = 0;
- else if (i < HOST_BITS_PER_WIDE_INT)
- lo = (HOST_WIDE_INT)1 << i, hi = 0;
- else
- lo = 0, hi = (HOST_WIDE_INT)1 << (i - HOST_BITS_PER_WIDE_INT);
+ rtx op1 = gen_int_mode (HOST_WIDE_INT_1U << i, DImode);
- op1 = immed_double_const (lo, hi, DImode);
if (i >= 31)
{
emit_move_insn (operands[2], op1);
@@ -10718,17 +10711,10 @@
"TARGET_64BIT && !TARGET_USE_BT"
[(const_int 0)]
{
- HOST_WIDE_INT i = INTVAL (operands[1]), hi, lo;
- rtx op1;
+ int i = INTVAL (operands[1]);
- if (HOST_BITS_PER_WIDE_INT >= 64)
- lo = (HOST_WIDE_INT)1 << i, hi = 0;
- else if (i < HOST_BITS_PER_WIDE_INT)
- lo = (HOST_WIDE_INT)1 << i, hi = 0;
- else
- lo = 0, hi = (HOST_WIDE_INT)1 << (i - HOST_BITS_PER_WIDE_INT);
-
- op1 = immed_double_const (~lo, ~hi, DImode);
+ rtx op1 = gen_int_mode (HOST_WIDE_INT_1U << i, DImode);
+
if (i >= 32)
{
emit_move_insn (operands[2], op1);
@@ -10751,17 +10737,10 @@
"TARGET_64BIT && !TARGET_USE_BT"
[(const_int 0)]
{
- HOST_WIDE_INT i = INTVAL (operands[1]), hi, lo;
- rtx op1;
+ int i = INTVAL (operands[1]);
- if (HOST_BITS_PER_WIDE_INT >= 64)
- lo = (HOST_WIDE_INT)1 << i, hi = 0;
- else if (i < HOST_BITS_PER_WIDE_INT)
- lo = (HOST_WIDE_INT)1 << i, hi = 0;
- else
- lo = 0, hi = (HOST_WIDE_INT)1 << (i - HOST_BITS_PER_WIDE_INT);
+ rtx op1 = gen_int_mode (HOST_WIDE_INT_1U << i, DImode);
- op1 = immed_double_const (lo, hi, DImode);
if (i >= 31)
{
emit_move_insn (operands[2], op1);
Index: config/i386/predicates.md
===================================================================
--- config/i386/predicates.md (revision 222610)
+++ config/i386/predicates.md (working copy)
@@ -135,18 +135,10 @@
switch (GET_CODE (op))
{
case CONST_INT:
- /* CONST_DOUBLES never match, since HOST_BITS_PER_WIDE_INT is known
- to be at least 32 and this all acceptable constants are
- represented as CONST_INT. */
- if (HOST_BITS_PER_WIDE_INT == 32)
- return true;
- else
- {
- HOST_WIDE_INT val = trunc_int_for_mode (INTVAL (op), DImode);
- return trunc_int_for_mode (val, SImode) == val;
- }
- break;
-
+ {
+ HOST_WIDE_INT val = trunc_int_for_mode (INTVAL (op), DImode);
+ return trunc_int_for_mode (val, SImode) == val;
+ }
case SYMBOL_REF:
/* For certain code models, the symbolic references are known to fit.
in CM_SMALL_PIC model we know it fits if it is local to the shared
@@ -253,21 +245,12 @@
;; Return true if VALUE can be stored in the zero extended immediate field.
(define_predicate "x86_64_zext_immediate_operand"
- (match_code "const_double,const_int,symbol_ref,label_ref,const")
+ (match_code "const_int,symbol_ref,label_ref,const")
{
switch (GET_CODE (op))
{
- case CONST_DOUBLE:
- if (HOST_BITS_PER_WIDE_INT == 32)
- return (GET_MODE (op) == VOIDmode && !CONST_DOUBLE_HIGH (op));
- else
- return false;
-
case CONST_INT:
- if (HOST_BITS_PER_WIDE_INT == 32)
- return INTVAL (op) >= 0;
- else
- return !(INTVAL (op) & ~(HOST_WIDE_INT) 0xffffffff);
+ return !(INTVAL (op) & ~(HOST_WIDE_INT) 0xffffffff);
case SYMBOL_REF:
/* For certain code models, the symbolic references are known to fit. */
@@ -625,7 +608,7 @@
;; Match exactly zero.
(define_predicate "const0_operand"
- (match_code "const_int,const_double,const_vector")
+ (match_code "const_int,const_wide_int,const_double,const_vector")
{
if (mode == VOIDmode)
mode = GET_MODE (op);
@@ -634,7 +617,7 @@
;; Match -1.
(define_predicate "constm1_operand"
- (match_code "const_int,const_double,const_vector")
+ (match_code "const_int,const_wide_int,const_double,const_vector")
{
if (mode == VOIDmode)
mode = GET_MODE (op);
@@ -643,7 +626,7 @@
;; Match one or vector filled with ones.
(define_predicate "const1_operand"
- (match_code "const_int,const_double,const_vector")
+ (match_code "const_int,const_wide_int,const_double,const_vector")
{
if (mode == VOIDmode)
mode = GET_MODE (op);
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH, i386]: Switch x86 to TARGET_SUPPORTS_WIDE_INT
2015-04-30 19:09 [PATCH, i386]: Switch x86 to TARGET_SUPPORTS_WIDE_INT Uros Bizjak
@ 2015-04-30 19:13 ` H.J. Lu
2015-05-05 12:23 ` Evgeny Stupachenko
0 siblings, 1 reply; 6+ messages in thread
From: H.J. Lu @ 2015-04-30 19:13 UTC (permalink / raw)
To: Uros Bizjak, Zamyatin, Igor; +Cc: gcc-patches, Jan Hubicka
On Thu, Apr 30, 2015 at 12:01 PM, Uros Bizjak <ubizjak@gmail.com> wrote:
> Hello!
>
> Attached patch switches x86 to TARGET_SUPPORTS_WIDE_INT.
>
> The patch builds on the fact that build requires
> HOST_BITS_PER_WIDE_INT = 64 capable host. Taking this in account,
> noticeable blocks of code can be removed, and all but one
> immed_double_const can be removed.
>
> The only wide-int mode that remains is TImode.
>
> 2015-04-30 Uros Bizjak <ubizjak@gmail.com>
>
> * config/i386/i386.h (TARGET_SUPPORTS_WIDE_INT): New define.
> * config/i386/i386.c (ix86_legitimate_constant_p): Handle TImode
> as CONST_WIDE_INT, not CONST_DOUBLE.
> (ix86_cannot_force_const_mem): Handle CONST_WIDE_INT.
> (output_pic_addr_const): Do not handle VOIDmode CONST_DOUBLEs.
> (ix86_find_base_term): Do not check for CONST_DOUBLE.
> (ix86_print_operand): Do not handle non-FPmode CONST_DOUBLEs.
> (ix86_build_signbit_mask): Rewrite using wide ints.
> (ix86_split_to_parts) [HOST_BITS_PER_WIDE_INT < 64]: Remove.
> (ix86_rtx_costs): Handle CONST_WIDE_INT.
> (find_constant): Ditto.
> * config/i386/i386.md (bts, btr, btc peepholes): Rewrite
> using gen_int_mode.
> * config/i386/predicates.md (x86_64_immediate_operand)
> <case CONST_INT>: Remove HOST_BITS_PER_WIDE_INT == 32 code.
> (x86_64_zext_immediate_operand): Remove CONST_DOUBLE handling.
> <case CONST_INT>: Remove HOST_BITS_PER_WIDE_INT == 32 code.
> (const0_operand): Also match const_wide_int.
> (constm1_operand): Ditto.
> (const1_operand): Ditto.
>
> Patch was bootstrapped and regression tested on x86_64-linux-gnu
> {,-m32} and i686-linux-gnu.
>
> I won't be able to commit the patch until Monday. H.J., can you please
> test it on your SPEC testers, so there won't be any surprises w.r.t.
> performance issues.
Hi Igor,
Can your team run SPEC CPU on this patch?
Thanks.
--
H.J.
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH, i386]: Switch x86 to TARGET_SUPPORTS_WIDE_INT
2015-04-30 19:13 ` H.J. Lu
@ 2015-05-05 12:23 ` Evgeny Stupachenko
2015-05-05 16:16 ` Uros Bizjak
0 siblings, 1 reply; 6+ messages in thread
From: Evgeny Stupachenko @ 2015-05-05 12:23 UTC (permalink / raw)
To: H.J. Lu; +Cc: Uros Bizjak, Zamyatin, Igor, gcc-patches, Jan Hubicka
Hi HJ,
I've checked spec2000 performance.
Only few spec binaries differ. Anyway performance is unchanged.
Thanks,
Evgeny
On Thu, Apr 30, 2015 at 10:08 PM, H.J. Lu <hjl.tools@gmail.com> wrote:
> On Thu, Apr 30, 2015 at 12:01 PM, Uros Bizjak <ubizjak@gmail.com> wrote:
>> Hello!
>>
>> Attached patch switches x86 to TARGET_SUPPORTS_WIDE_INT.
>>
>> The patch builds on the fact that build requires
>> HOST_BITS_PER_WIDE_INT = 64 capable host. Taking this in account,
>> noticeable blocks of code can be removed, and all but one
>> immed_double_const can be removed.
>>
>> The only wide-int mode that remains is TImode.
>>
>> 2015-04-30 Uros Bizjak <ubizjak@gmail.com>
>>
>> * config/i386/i386.h (TARGET_SUPPORTS_WIDE_INT): New define.
>> * config/i386/i386.c (ix86_legitimate_constant_p): Handle TImode
>> as CONST_WIDE_INT, not CONST_DOUBLE.
>> (ix86_cannot_force_const_mem): Handle CONST_WIDE_INT.
>> (output_pic_addr_const): Do not handle VOIDmode CONST_DOUBLEs.
>> (ix86_find_base_term): Do not check for CONST_DOUBLE.
>> (ix86_print_operand): Do not handle non-FPmode CONST_DOUBLEs.
>> (ix86_build_signbit_mask): Rewrite using wide ints.
>> (ix86_split_to_parts) [HOST_BITS_PER_WIDE_INT < 64]: Remove.
>> (ix86_rtx_costs): Handle CONST_WIDE_INT.
>> (find_constant): Ditto.
>> * config/i386/i386.md (bts, btr, btc peepholes): Rewrite
>> using gen_int_mode.
>> * config/i386/predicates.md (x86_64_immediate_operand)
>> <case CONST_INT>: Remove HOST_BITS_PER_WIDE_INT == 32 code.
>> (x86_64_zext_immediate_operand): Remove CONST_DOUBLE handling.
>> <case CONST_INT>: Remove HOST_BITS_PER_WIDE_INT == 32 code.
>> (const0_operand): Also match const_wide_int.
>> (constm1_operand): Ditto.
>> (const1_operand): Ditto.
>>
>> Patch was bootstrapped and regression tested on x86_64-linux-gnu
>> {,-m32} and i686-linux-gnu.
>>
>> I won't be able to commit the patch until Monday. H.J., can you please
>> test it on your SPEC testers, so there won't be any surprises w.r.t.
>> performance issues.
>
> Hi Igor,
>
> Can your team run SPEC CPU on this patch?
>
> Thanks.
>
> --
> H.J.
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH, i386]: Switch x86 to TARGET_SUPPORTS_WIDE_INT
2015-05-05 12:23 ` Evgeny Stupachenko
@ 2015-05-05 16:16 ` Uros Bizjak
2015-05-05 18:10 ` Richard Biener
0 siblings, 1 reply; 6+ messages in thread
From: Uros Bizjak @ 2015-05-05 16:16 UTC (permalink / raw)
To: Evgeny Stupachenko; +Cc: H.J. Lu, Zamyatin, Igor, gcc-patches, Jan Hubicka
On Tue, May 5, 2015 at 2:23 PM, Evgeny Stupachenko <evstupac@gmail.com> wrote:
> I've checked spec2000 performance.
> Only few spec binaries differ. Anyway performance is unchanged.
Thanks, that confirms expectations.
Patch committed.
Uros.
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH, i386]: Switch x86 to TARGET_SUPPORTS_WIDE_INT
2015-05-05 16:16 ` Uros Bizjak
@ 2015-05-05 18:10 ` Richard Biener
2015-05-05 20:00 ` Uros Bizjak
0 siblings, 1 reply; 6+ messages in thread
From: Richard Biener @ 2015-05-05 18:10 UTC (permalink / raw)
To: Uros Bizjak, Evgeny Stupachenko
Cc: H.J. Lu, Zamyatin, Igor, gcc-patches, Jan Hubicka
On May 5, 2015 6:16:14 PM GMT+02:00, Uros Bizjak <ubizjak@gmail.com> wrote:
>On Tue, May 5, 2015 at 2:23 PM, Evgeny Stupachenko <evstupac@gmail.com>
>wrote:
>
>> I've checked spec2000 performance.
>> Only few spec binaries differ. Anyway performance is unchanged.
>
>Thanks, that confirms expectations.
Are changes in generated code expected at all?
Richard.
>Patch committed.
>
>Uros.
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH, i386]: Switch x86 to TARGET_SUPPORTS_WIDE_INT
2015-05-05 18:10 ` Richard Biener
@ 2015-05-05 20:00 ` Uros Bizjak
0 siblings, 0 replies; 6+ messages in thread
From: Uros Bizjak @ 2015-05-05 20:00 UTC (permalink / raw)
To: Richard Biener
Cc: Evgeny Stupachenko, H.J. Lu, Zamyatin, Igor, gcc-patches, Jan Hubicka
On Tue, May 5, 2015 at 8:10 PM, Richard Biener
<richard.guenther@gmail.com> wrote:
>>> I've checked spec2000 performance.
>>> Only few spec binaries differ. Anyway performance is unchanged.
>>
>>Thanks, that confirms expectations.
>
> Are changes in generated code expected at all?
The change by itself should have no effect on the code, but it is a
big change, so some unrelated perturbations in the code are expected.
Uros.
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2015-05-05 20:00 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-04-30 19:09 [PATCH, i386]: Switch x86 to TARGET_SUPPORTS_WIDE_INT Uros Bizjak
2015-04-30 19:13 ` H.J. Lu
2015-05-05 12:23 ` Evgeny Stupachenko
2015-05-05 16:16 ` Uros Bizjak
2015-05-05 18:10 ` Richard Biener
2015-05-05 20:00 ` Uros Bizjak
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).