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

Oleg Endo <olegendo at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
  Attachment #30689|0                           |1
        is obsolete|                            |

--- Comment #68 from Oleg Endo <olegendo at gcc dot gnu.org> ---
Created attachment 30889
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=30889&action=edit
RTL pass

An updated patch that adds an SH specific RTL pass against current trunk (rev
202873), not fully tested.

CSiBE for '-m2a-single -O2' and '-m4-single -mpretend-cmove -O2' look OK. 
There are only 2 cases that got actually worse in the set:

linux-2.4.23-pre3-testplatform/fs/lockd/host.s (nlm_lookup_host):

before:
.L142:
    bt    .L60
    mov.l    @(20,r11),r6
    cmp/eq    r6,r10
    bf    .L58
    add    r1,r13

after:
.L142:
    bt    .L60
    mov.l    @(20,r11),r6
    mov    r10,r5
    cmp/eq    r6,r5
    bf    .L58
    add    r1,r13


linux-2.4.23-pre3-testplatform/net/ipv4/igmp.s (add_grec):

before:
.L459:
    bt    .L294
    mov.l    @(24,r13),r1
    tst    r1,r1
    bt/s    .L295
    add    #64,r1
    mov    r13,r2
    add    #64,r2
    mov.l    @(36,r1),r1
    mov.l    @(32,r2),r2
    sub    r2,r1
    mov    #11,r2
    cmp/hs    r1,r2
.L296:
    bf/s    .L294
    mov    r13,r4
    mov.l    .L408,r0
    jsr    @r0
    mov    #0,r13

after:
.L459:
    bt    .L294
    mov.l    @(24,r13),r1
    tst    r1,r1
    bt    .L295
    add    #64,r1
    mov    r13,r2
    add    #64,r2
    mov.l    @(36,r1),r1
    mov.l    @(32,r2),r2
    sub    r2,r1
    mov    #11,r2
    cmp/hs    r1,r2
    movt    r1
.L296:
    tst    r1,r1
    bt/s    .L294
    mov    r13,r4
    mov.l    .L408,r0
    jsr    @r0
    mov    #0,r13

Reply via email to