FAQ Search Today's Posts Mark Forums Read
» Video Reviews

» Linux Archive

Linux-archive is a website aiming to archive linux email lists and to make them easily accessible for linux users/developers.


» Sponsor

» Partners

» Sponsor

Go Back   Linux Archive > Debian > Debian GCC

 
 
LinkBack Thread Tools
 
Old 01-07-2009, 04:56 PM
"ubizjak at gmail dot com"
 
Default Bug#161432: s?addl pattern doesn't work

------- Comment #5 from ubizjak at gmail dot com 2009-01-07 17:56 -------
Following patch that changes addsi3 and subsi3 expander constraint fixes this
problem:

--cut here--
Index: alpha.md
================================================== =================
--- alpha.md (revision 143157)
+++ alpha.md (working copy)
@@ -261,7 +261,7 @@
[(set (match_operand:SI 0 "register_operand" "")
(plus:SI (match_operand:SI 1 "reg_or_0_operand" "")
(match_operand:SI 2 "add_operand" "")))]
- "! optimize"
+ ""
"")

(define_insn "*addsi_internal"
@@ -622,7 +622,7 @@
[(set (match_operand:SI 0 "register_operand" "")
(minus:SI (match_operand:SI 1 "reg_or_0_operand" "")
(match_operand:SI 2 "reg_or_8bit_operand" "")))]
- "! optimize"
+ ""
"")

(define_insn "*subsi_internal"
--cut here--

With the patch (gcc -O2):

f:
s4addl $16,$17,$0
ret $31,($26),1

g:
s4subl $16,$16,$0
ret $31,($26),1

This regression was introduced by:

Sat Feb 23 08:42:47 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>

* expr.c (store_expr): When converting expression to promoted
equivalent type, allow using SUBREG_REG of TARGET as the target
of the expansion of EXP.
* loop.c (basic_induction_var, case SUBREG): Always look inside.
* config/alpha/alpha.c (rtx_equiv_function_matters): Delete decl.
(alpha_emit_set_const): Handle SImode when can't make new pseudos.
(alpha_emit_set_const_1, alpha_sa_mask): Use no_new_pseudos.
* config/alpha/alpha.md (addsi3, subsi3): Don't use if optimizing.

And the comment above addsi3 says:

;; Don't say we have addsi3 if optimizing. This generates better code. We
;; have the anonymous addsi3 pattern below in case combine wants to make it.

So, is this still true? Can somebody benchmark this patch? We can perhaps look
at csibe numbers.


--


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

------- You are receiving this mail because: -------
You reported the bug, or are watching the reporter.



--
To UNSUBSCRIBE, email to debian-gcc-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
 

Thread Tools




All times are GMT. The time now is 08:33 AM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.
Copyright 2007 - 2008, www.linux-archive.org