[Bug target/64792] New: [5 Regression][SH] movu.b movu.w not working
olegendo at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Sun Jan 25 22:57:00 GMT 2015
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64792
Bug ID: 64792
Summary: [5 Regression][SH] movu.b movu.w not working
Product: gcc
Version: 5.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: target
Assignee: unassigned at gcc dot gnu.org
Reporter: olegendo at gcc dot gnu.org
Target: sh*-*-*
The treg_set_expr patch from r220081 disabled early matching of the SH2A movu.b
and movu.w patterns during RTL expansion and combine. This was done because
it's otherwise difficult to convert zero-extending loads back to sign-extending
loads in cases where using sign-extended values is fine. Sign-extending loads
are shorter (2 bytes vs. 4 bytes insns) and the zero-extending loads should be
formed as a last resort option, after combine and split1, but before RA. The
idea is to do that in a simple peephole-like RTL pass.
More information about the Gcc-bugs
mailing list