This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
| Other format: | [Raw text] | |
On 03/07/2016 02:49 PM, Jeff Law wrote:
On 03/07/2016 03:44 AM, Kyrill Tkachov wrote:The RTL documentation for ASHIFT and friends says that the shift amount must be: "a fixed-point mode or be a constant with mode @code{VOIDmode}; which mode is determined by the mode called for in the machine description entry for the left-shift instruction". For example, on the VAX, the mode of @var{c} is @code{QImode} regardless of @var{m}.Use QImode in the named pattern/expander and use the other modes in an unnamed/anonymous pattern.
I thought the same thing you did. But I tried it out on the aarch64 port and it didn't work. Combine kept coming back to the QImode pattern.
I didn't want to look into it any farther than that, lest I fall down a rabbit hole, but there's more to it than just tweaking the patterns.
r~
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |