public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug rtl-optimization/23098] New: [4.1 Regression] store of 0.0 to float
@ 2005-07-27 18:49 pinskia at gcc dot gnu dot org
  2005-07-27 18:50 ` [Bug rtl-optimization/23098] [3.4/4.0/4.1 " pinskia at gcc dot gnu dot org
                   ` (14 more replies)
  0 siblings, 15 replies; 17+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-07-27 18:49 UTC (permalink / raw)
  To: gcc-bugs

Take the following program:
int g (float* g1)
{
  *g1 = 0;
}

Running it on ppc-darwin on the mainline (with -static), we get:
LC0:
        .long   0
        .text
        .align 2
        .globl _g
_g:
        lis r2,ha16(LC0)
        lfs f0,lo16(LC0)(r2)
        stfs f0,0(r3)
        blr

On 4.0.0, we get:
_g:
        li r0,0
        stw r0,0(r3)
        blr

x86 have the same problem but only with -fPIC but that is not a regression:
.LC0:
        .long   0
        .text
        .p2align 4,,15
.globl g
        .type   g, @function
g:
        call    __i686.get_pc_thunk.cx
        addl    $_GLOBAL_OFFSET_TABLE_, %ecx
        movl    4(%esp), %eax
        movl    .LC0@GOTOFF(%ecx), %edx
        movl    %edx, (%eax)
        ret

-- 
           Summary: [4.1 Regression] store of 0.0 to float
           Product: gcc
           Version: 4.1.0
            Status: UNCONFIRMED
          Keywords: missed-optimization
          Severity: minor
          Priority: P2
         Component: rtl-optimization
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: pinskia at gcc dot gnu dot org
                CC: gcc-bugs at gcc dot gnu dot org
GCC target triplet: powerpc-darwin


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23098


^ permalink raw reply	[flat|nested] 17+ messages in thread

* [Bug rtl-optimization/23098] [3.4/4.0/4.1 Regression] store of 0.0 to float
  2005-07-27 18:49 [Bug rtl-optimization/23098] New: [4.1 Regression] store of 0.0 to float pinskia at gcc dot gnu dot org
@ 2005-07-27 18:50 ` pinskia at gcc dot gnu dot org
  2005-07-27 18:54 ` pinskia at gcc dot gnu dot org
                   ` (13 subsequent siblings)
  14 siblings, 0 replies; 17+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-07-27 18:50 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2005-07-27 18:49 -------
Actually I take back x86 is not a regression.  It is a regression from 3.2.3

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
      Known to fail|                            |3.3.3 3.4.0 4.0.0 4.1.0
      Known to work|                            |2.95.3 3.2.3
            Summary|[4.1 Regression] store of   |[3.4/4.0/4.1 Regression]
                   |0.0 to float                |store of 0.0 to float


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23098


^ permalink raw reply	[flat|nested] 17+ messages in thread

* [Bug rtl-optimization/23098] [3.4/4.0/4.1 Regression] store of 0.0 to float
  2005-07-27 18:49 [Bug rtl-optimization/23098] New: [4.1 Regression] store of 0.0 to float pinskia at gcc dot gnu dot org
  2005-07-27 18:50 ` [Bug rtl-optimization/23098] [3.4/4.0/4.1 " pinskia at gcc dot gnu dot org
@ 2005-07-27 18:54 ` pinskia at gcc dot gnu dot org
  2005-07-27 19:12 ` dje at gcc dot gnu dot org
                   ` (12 subsequent siblings)
  14 siblings, 0 replies; 17+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-07-27 18:54 UTC (permalink / raw)
  To: gcc-bugs



-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
 GCC target triplet|powerpc-darwin              |powerpc-darwin, i?86-*-*
   Target Milestone|---                         |4.0.2


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23098


^ permalink raw reply	[flat|nested] 17+ messages in thread

* [Bug rtl-optimization/23098] [3.4/4.0/4.1 Regression] store of 0.0 to float
  2005-07-27 18:49 [Bug rtl-optimization/23098] New: [4.1 Regression] store of 0.0 to float pinskia at gcc dot gnu dot org
  2005-07-27 18:50 ` [Bug rtl-optimization/23098] [3.4/4.0/4.1 " pinskia at gcc dot gnu dot org
  2005-07-27 18:54 ` pinskia at gcc dot gnu dot org
@ 2005-07-27 19:12 ` dje at gcc dot gnu dot org
  2005-07-27 19:15 ` pinskia at gcc dot gnu dot org
                   ` (11 subsequent siblings)
  14 siblings, 0 replies; 17+ messages in thread
From: dje at gcc dot gnu dot org @ 2005-07-27 19:12 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From dje at gcc dot gnu dot org  2005-07-27 19:11 -------
On PowerPC this is because we now are forcing all FP constants to memory.  The
only constant for which this is interesting is zero, and only if one is storing
to memory.  XLC produces the same code as GCC mainline.

-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23098


^ permalink raw reply	[flat|nested] 17+ messages in thread

* [Bug rtl-optimization/23098] [3.4/4.0/4.1 Regression] store of 0.0 to float
  2005-07-27 18:49 [Bug rtl-optimization/23098] New: [4.1 Regression] store of 0.0 to float pinskia at gcc dot gnu dot org
                   ` (2 preceding siblings ...)
  2005-07-27 19:12 ` dje at gcc dot gnu dot org
@ 2005-07-27 19:15 ` pinskia at gcc dot gnu dot org
  2005-07-27 19:30 ` pinskia at gcc dot gnu dot org
                   ` (10 subsequent siblings)
  14 siblings, 0 replies; 17+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-07-27 19:15 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2005-07-27 19:13 -------
Another testcase which is a regression (on x86) caused by the same problem:
int g (float* g1,float t)
{
  *g1 = 0.0 + t;
}

Without -fPIC,
        fldz
        movl    4(%esp), %eax
        fadds   8(%esp)
        fstps   (%eax)
        ret
With -fPIC:
g:
        call    __i686.get_pc_thunk.cx
        addl    $_GLOBAL_OFFSET_TABLE_, %ecx
        movl    4(%esp), %eax
        flds    .LC0@GOTOFF(%ecx)
        fadds   8(%esp)
        fstps   (%eax)
        ret

in 2.95.3, we get:
g:
        fldz
        fadds 8(%esp)
        movl 4(%esp),%eax
        fstps (%eax)
        ret

But from 3.0.4 and above we get the same issue as the mainline with -fPIC.

-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23098


^ permalink raw reply	[flat|nested] 17+ messages in thread

* [Bug rtl-optimization/23098] [3.4/4.0/4.1 Regression] store of 0.0 to float
  2005-07-27 18:49 [Bug rtl-optimization/23098] New: [4.1 Regression] store of 0.0 to float pinskia at gcc dot gnu dot org
                   ` (3 preceding siblings ...)
  2005-07-27 19:15 ` pinskia at gcc dot gnu dot org
@ 2005-07-27 19:30 ` pinskia at gcc dot gnu dot org
  2005-07-27 19:33 ` pinskia at gcc dot gnu dot org
                   ` (9 subsequent siblings)
  14 siblings, 0 replies; 17+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-07-27 19:30 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2005-07-27 19:29 -------
Another testcase for x86 for -fPIC vs -fno-PIC:
double f(float);
double g(void)
{
  return f(0.0);
}


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23098


^ permalink raw reply	[flat|nested] 17+ messages in thread

* [Bug rtl-optimization/23098] [3.4/4.0/4.1 Regression] store of 0.0 to float
  2005-07-27 18:49 [Bug rtl-optimization/23098] New: [4.1 Regression] store of 0.0 to float pinskia at gcc dot gnu dot org
                   ` (4 preceding siblings ...)
  2005-07-27 19:30 ` pinskia at gcc dot gnu dot org
@ 2005-07-27 19:33 ` pinskia at gcc dot gnu dot org
  2005-08-01 16:58 ` pinskia at gcc dot gnu dot org
                   ` (8 subsequent siblings)
  14 siblings, 0 replies; 17+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-07-27 19:33 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2005-07-27 19:30 -------
(In reply to comment #4)
> Another testcase for x86 for -fPIC vs -fno-PIC:
double f(float);
double g(void)
{
  return f(1.0);
}


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23098


^ permalink raw reply	[flat|nested] 17+ messages in thread

* [Bug rtl-optimization/23098] [3.4/4.0/4.1 Regression] store of 0.0 to float
  2005-07-27 18:49 [Bug rtl-optimization/23098] New: [4.1 Regression] store of 0.0 to float pinskia at gcc dot gnu dot org
                   ` (5 preceding siblings ...)
  2005-07-27 19:33 ` pinskia at gcc dot gnu dot org
@ 2005-08-01 16:58 ` pinskia at gcc dot gnu dot org
  2005-09-02 15:11 ` jakub at gcc dot gnu dot org
                   ` (7 subsequent siblings)
  14 siblings, 0 replies; 17+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-08-01 16:58 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2005-08-01 16:58 -------
Confirmed.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|                            |1
   Last reconfirmed|0000-00-00 00:00:00         |2005-08-01 16:58:12
               date|                            |


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23098


^ permalink raw reply	[flat|nested] 17+ messages in thread

* [Bug rtl-optimization/23098] [3.4/4.0/4.1 Regression] store of 0.0 to float
  2005-07-27 18:49 [Bug rtl-optimization/23098] New: [4.1 Regression] store of 0.0 to float pinskia at gcc dot gnu dot org
                   ` (6 preceding siblings ...)
  2005-08-01 16:58 ` pinskia at gcc dot gnu dot org
@ 2005-09-02 15:11 ` jakub at gcc dot gnu dot org
  2005-09-06  8:53 ` cvs-commit at gcc dot gnu dot org
                   ` (6 subsequent siblings)
  14 siblings, 0 replies; 17+ messages in thread
From: jakub at gcc dot gnu dot org @ 2005-09-02 15:11 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From jakub at gcc dot gnu dot org  2005-09-02 15:10 -------
Testing a patch.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
         AssignedTo|unassigned at gcc dot gnu   |jakub at gcc dot gnu dot org
                   |dot org                     |
             Status|NEW                         |ASSIGNED
   Last reconfirmed|2005-08-01 16:58:12         |2005-09-02 15:10:12
               date|                            |


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23098


^ permalink raw reply	[flat|nested] 17+ messages in thread

* [Bug rtl-optimization/23098] [3.4/4.0/4.1 Regression] store of 0.0 to float
  2005-07-27 18:49 [Bug rtl-optimization/23098] New: [4.1 Regression] store of 0.0 to float pinskia at gcc dot gnu dot org
                   ` (7 preceding siblings ...)
  2005-09-02 15:11 ` jakub at gcc dot gnu dot org
@ 2005-09-06  8:53 ` cvs-commit at gcc dot gnu dot org
  2005-09-06  9:41 ` [Bug rtl-optimization/23098] [4.1 " pinskia at gcc dot gnu dot org
                   ` (5 subsequent siblings)
  14 siblings, 0 replies; 17+ messages in thread
From: cvs-commit at gcc dot gnu dot org @ 2005-09-06  8:53 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From cvs-commit at gcc dot gnu dot org  2005-09-06 08:53 -------
Subject: Bug 23098

CVSROOT:	/cvs/gcc
Module name:	gcc
Changes by:	jakub@gcc.gnu.org	2005-09-06 08:53:12

Modified files:
	gcc            : ChangeLog cse.c rtl.h simplify-rtx.c 
	gcc/testsuite  : ChangeLog 
	gcc/config/i386: i386.md 
Added files:
	gcc/testsuite/gcc.target/i386: pr23098.c 

Log message:
	PR rtl-optimization/23098
	* cse.c (fold_rtx_mem): Call delegitimize_address target hook.
	* simplify-rtx.c (constant_pool_reference_p): New function.
	* rtl.h (constant_pool_reference_p): New prototype.
	* config/i386/i386.md (pushf split, mov[sdx]f split): Use
	constant_pool_reference_p in condition and
	avoid_constant_pool_reference in preparation statements.
	
	* gcc.target/i386/pr23098.c: New test.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&r1=2.9900&r2=2.9901
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cse.c.diff?cvsroot=gcc&r1=1.359&r2=1.360
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/rtl.h.diff?cvsroot=gcc&r1=1.559&r2=1.560
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/simplify-rtx.c.diff?cvsroot=gcc&r1=1.245&r2=1.246
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/ChangeLog.diff?cvsroot=gcc&r1=1.6011&r2=1.6012
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/i386/i386.md.diff?cvsroot=gcc&r1=1.653&r2=1.654
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.target/i386/pr23098.c.diff?cvsroot=gcc&r1=NONE&r2=1.1



-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23098


^ permalink raw reply	[flat|nested] 17+ messages in thread

* [Bug rtl-optimization/23098] [4.1 Regression] store of 0.0 to float
  2005-07-27 18:49 [Bug rtl-optimization/23098] New: [4.1 Regression] store of 0.0 to float pinskia at gcc dot gnu dot org
                   ` (8 preceding siblings ...)
  2005-09-06  8:53 ` cvs-commit at gcc dot gnu dot org
@ 2005-09-06  9:41 ` pinskia at gcc dot gnu dot org
  2005-09-06  9:44 ` pinskia at gcc dot gnu dot org
                   ` (4 subsequent siblings)
  14 siblings, 0 replies; 17+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-09-06  9:41 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2005-09-06 09:41 -------
This is now only a regression on the mainline on powerpc which still have the orginal code gen I was 
complaining about.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
 GCC target triplet|powerpc-*-*, i?86-*-*       |powerpc-*-*
      Known to fail|3.3.3 3.4.0 4.0.0 4.1.0     |4.1.0
      Known to work|2.95.3 3.2.3                |2.95.3 3.2.3 3.3.3 3.4.0
                   |                            |4.0.0
            Summary|[3.4/4.0/4.1 Regression]    |[4.1 Regression] store of
                   |store of 0.0 to float       |0.0 to float


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23098


^ permalink raw reply	[flat|nested] 17+ messages in thread

* [Bug rtl-optimization/23098] [4.1 Regression] store of 0.0 to float
  2005-07-27 18:49 [Bug rtl-optimization/23098] New: [4.1 Regression] store of 0.0 to float pinskia at gcc dot gnu dot org
                   ` (9 preceding siblings ...)
  2005-09-06  9:41 ` [Bug rtl-optimization/23098] [4.1 " pinskia at gcc dot gnu dot org
@ 2005-09-06  9:44 ` pinskia at gcc dot gnu dot org
  2005-09-06 19:39 ` cvs-commit at gcc dot gnu dot org
                   ` (3 subsequent siblings)
  14 siblings, 0 replies; 17+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-09-06  9:44 UTC (permalink / raw)
  To: gcc-bugs



-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|4.0.2                       |4.1.0


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23098


^ permalink raw reply	[flat|nested] 17+ messages in thread

* [Bug rtl-optimization/23098] [4.1 Regression] store of 0.0 to float
  2005-07-27 18:49 [Bug rtl-optimization/23098] New: [4.1 Regression] store of 0.0 to float pinskia at gcc dot gnu dot org
                   ` (10 preceding siblings ...)
  2005-09-06  9:44 ` pinskia at gcc dot gnu dot org
@ 2005-09-06 19:39 ` cvs-commit at gcc dot gnu dot org
  2005-09-06 19:45 ` cvs-commit at gcc dot gnu dot org
                   ` (2 subsequent siblings)
  14 siblings, 0 replies; 17+ messages in thread
From: cvs-commit at gcc dot gnu dot org @ 2005-09-06 19:39 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From cvs-commit at gcc dot gnu dot org  2005-09-06 19:39 -------
Subject: Bug 23098

CVSROOT:	/cvs/gcc
Module name:	gcc
Changes by:	jakub@gcc.gnu.org	2005-09-06 19:38:59

Modified files:
	gcc/testsuite  : ChangeLog 
	gcc/testsuite/gcc.target/i386: pr23098.c 

Log message:
	PR rtl-optimization/23098
	* gcc.target/i386/pr23098.c: Add dg-require-effective-target ilp32.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/ChangeLog.diff?cvsroot=gcc&r1=1.6018&r2=1.6019
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.target/i386/pr23098.c.diff?cvsroot=gcc&r1=1.1&r2=1.2



-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23098


^ permalink raw reply	[flat|nested] 17+ messages in thread

* [Bug rtl-optimization/23098] [4.1 Regression] store of 0.0 to float
  2005-07-27 18:49 [Bug rtl-optimization/23098] New: [4.1 Regression] store of 0.0 to float pinskia at gcc dot gnu dot org
                   ` (11 preceding siblings ...)
  2005-09-06 19:39 ` cvs-commit at gcc dot gnu dot org
@ 2005-09-06 19:45 ` cvs-commit at gcc dot gnu dot org
  2005-09-11 23:22 ` cvs-commit at gcc dot gnu dot org
  2005-09-12 15:12 ` pinskia at gcc dot gnu dot org
  14 siblings, 0 replies; 17+ messages in thread
From: cvs-commit at gcc dot gnu dot org @ 2005-09-06 19:45 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From cvs-commit at gcc dot gnu dot org  2005-09-06 19:45 -------
Subject: Bug 23098

CVSROOT:	/cvs/gcc
Module name:	gcc
Branch: 	gcc-4_0-branch
Changes by:	jakub@gcc.gnu.org	2005-09-06 19:44:45

Modified files:
	gcc            : ChangeLog cse.c rtl.h simplify-rtx.c 
	gcc/config/i386: i386.md 
	gcc/testsuite  : ChangeLog 
Added files:
	gcc/testsuite/gcc.target/i386: pr23098.c 

Log message:
	PR rtl-optimization/23098
	* cse.c (fold_rtx): Call delegitimize_address target hook.
	* simplify-rtx.c (constant_pool_reference_p): New function.
	* rtl.h (constant_pool_reference_p): New prototype.
	* config/i386/i386.md (pushf split, mov[sdx]f split): Use
	constant_pool_reference_p in condition and
	avoid_constant_pool_reference in preparation statements.
	
	* gcc.target/i386/pr23098.c: New test.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=2.7592.2.413&r2=2.7592.2.414
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cse.c.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.345.2.2&r2=1.345.2.3
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/rtl.h.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.536&r2=1.536.4.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/simplify-rtx.c.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.230.2.7&r2=1.230.2.8
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/i386/i386.md.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.618.4.5&r2=1.618.4.6
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.5084.2.383&r2=1.5084.2.384
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.target/i386/pr23098.c.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=NONE&r2=1.2.2.1



-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23098


^ permalink raw reply	[flat|nested] 17+ messages in thread

* [Bug rtl-optimization/23098] [4.1 Regression] store of 0.0 to float
  2005-07-27 18:49 [Bug rtl-optimization/23098] New: [4.1 Regression] store of 0.0 to float pinskia at gcc dot gnu dot org
                   ` (12 preceding siblings ...)
  2005-09-06 19:45 ` cvs-commit at gcc dot gnu dot org
@ 2005-09-11 23:22 ` cvs-commit at gcc dot gnu dot org
  2005-09-12 15:12 ` pinskia at gcc dot gnu dot org
  14 siblings, 0 replies; 17+ messages in thread
From: cvs-commit at gcc dot gnu dot org @ 2005-09-11 23:22 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From cvs-commit at gcc dot gnu dot org  2005-09-11 23:22 -------
Subject: Bug 23098

CVSROOT:	/cvs/gcc
Module name:	gcc
Changes by:	dje@gcc.gnu.org	2005-09-11 23:22:11

Modified files:
	gcc            : ChangeLog 
	gcc/config/rs6000: predicates.md rs6000.md rs6000.c altivec.md 

Log message:
	PR rtl-optimization/23098
	* config/rs6000/predicates.md (easy_fp_constant): SFmode constant
	0.0f is easy.
	* config/rs6000/rs6000.md (movdf splitter): Use
	const_double_operand predicate for TARGET_POWERPC64.
	* config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Expand
	SYMBOL_REF method to ABI_V4.
	
	* config/rs6000/altivec.md (build_vector_mask_for_load): Use
	replace_equiv_address.
	* config/rs6000/rs6000.c (rs6000_emit_eh_reg_restore): Mark MEM as
	rs6000_sr_alias_set and MEM_NOTRAP.
	(rs6000_aix_emit_builtin_unwind_init): Use gen_frame_mem().

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&r1=2.9933&r2=2.9934
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/rs6000/predicates.md.diff?cvsroot=gcc&r1=1.25&r2=1.26
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/rs6000/rs6000.md.diff?cvsroot=gcc&r1=1.406&r2=1.407
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/rs6000/rs6000.c.diff?cvsroot=gcc&r1=1.866&r2=1.867
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/rs6000/altivec.md.diff?cvsroot=gcc&r1=1.44&r2=1.45



-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23098


^ permalink raw reply	[flat|nested] 17+ messages in thread

* [Bug rtl-optimization/23098] [4.1 Regression] store of 0.0 to float
  2005-07-27 18:49 [Bug rtl-optimization/23098] New: [4.1 Regression] store of 0.0 to float pinskia at gcc dot gnu dot org
                   ` (13 preceding siblings ...)
  2005-09-11 23:22 ` cvs-commit at gcc dot gnu dot org
@ 2005-09-12 15:12 ` pinskia at gcc dot gnu dot org
  14 siblings, 0 replies; 17+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-09-12 15:12 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2005-09-12 15:12 -------
Fixed.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|                            |FIXED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23098


^ permalink raw reply	[flat|nested] 17+ messages in thread

* [Bug rtl-optimization/23098] [4.1 Regression] store of 0.0 to float
       [not found] <bug-23098-6528@http.gcc.gnu.org/bugzilla/>
@ 2005-12-31  0:39 ` sayle at gcc dot gnu dot org
  0 siblings, 0 replies; 17+ messages in thread
From: sayle at gcc dot gnu dot org @ 2005-12-31  0:39 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #14 from sayle at gcc dot gnu dot org  2005-12-31 00:39 -------
Subject: Bug 23098

Author: sayle
Date: Sat Dec 31 00:39:42 2005
New Revision: 109192

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=109192
Log:

        PR target/25213
        Backport from mainline
        2005-09-06  Jakub Jelinek  <jakub@redhat.com>

        PR rtl-optimization/23098
        * cse.c (fold_rtx_mem): Call delegitimize_address target hook.
        * simplify-rtx.c (constant_pool_reference_p): New function.
        * rtl.h (constant_pool_reference_p): New prototype.
        * config/i386/i386.md (pushf split, mov[sdx]f split): Use
        constant_pool_reference_p in condition and
        avoid_constant_pool_reference in preparation statements.

        * gcc.dg/pr23098.c: Backport testcase from mainline.


Added:
    branches/gcc-3_4-branch/gcc/testsuite/gcc.dg/pr23098.c
Modified:
    branches/gcc-3_4-branch/gcc/ChangeLog
    branches/gcc-3_4-branch/gcc/config/i386/i386.md
    branches/gcc-3_4-branch/gcc/cse.c
    branches/gcc-3_4-branch/gcc/rtl.h
    branches/gcc-3_4-branch/gcc/simplify-rtx.c
    branches/gcc-3_4-branch/gcc/testsuite/ChangeLog


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23098



^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2005-12-31  0:39 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-07-27 18:49 [Bug rtl-optimization/23098] New: [4.1 Regression] store of 0.0 to float pinskia at gcc dot gnu dot org
2005-07-27 18:50 ` [Bug rtl-optimization/23098] [3.4/4.0/4.1 " pinskia at gcc dot gnu dot org
2005-07-27 18:54 ` pinskia at gcc dot gnu dot org
2005-07-27 19:12 ` dje at gcc dot gnu dot org
2005-07-27 19:15 ` pinskia at gcc dot gnu dot org
2005-07-27 19:30 ` pinskia at gcc dot gnu dot org
2005-07-27 19:33 ` pinskia at gcc dot gnu dot org
2005-08-01 16:58 ` pinskia at gcc dot gnu dot org
2005-09-02 15:11 ` jakub at gcc dot gnu dot org
2005-09-06  8:53 ` cvs-commit at gcc dot gnu dot org
2005-09-06  9:41 ` [Bug rtl-optimization/23098] [4.1 " pinskia at gcc dot gnu dot org
2005-09-06  9:44 ` pinskia at gcc dot gnu dot org
2005-09-06 19:39 ` cvs-commit at gcc dot gnu dot org
2005-09-06 19:45 ` cvs-commit at gcc dot gnu dot org
2005-09-11 23:22 ` cvs-commit at gcc dot gnu dot org
2005-09-12 15:12 ` pinskia at gcc dot gnu dot org
     [not found] <bug-23098-6528@http.gcc.gnu.org/bugzilla/>
2005-12-31  0:39 ` sayle at gcc dot gnu dot org

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).