This is the mail archive of the
mailing list for the GCC project.
Re: Vector registers on MIPS arch
- From: Ilya Enkovich <enkovich dot gnu at gmail dot com>
- To: David Guillen Fandos <david at davidgf dot net>
- Cc: Gcc Mailing List <gcc at gcc dot gnu dot org>
- Date: Wed, 6 Apr 2016 12:44:33 +0300
- Subject: Re: Vector registers on MIPS arch
- Authentication-results: sourceware.org; auth=none
- References: <56FF1331 dot 9080103 at davidgf dot net> <CAMbmDYYGvvWWABBwXJ+yQdxvvrZbt4Gd6zsTaGRa1nGd8ndZPg at mail dot gmail dot com> <5702F1CA dot 5040605 at davidgf dot net> <CAMbmDYb7tMPbmf1OdxF+RmTGxWc1377wE0rqyeu1cDtdfmKEGg at mail dot gmail dot com> <57044146 dot 5030206 at davidgf dot net>
2016-04-06 1:50 GMT+03:00 David Guillen Fandos <firstname.lastname@example.org>:
> Thanks again Ilya,
> That seems to help to solve the problem. Now I'm facing another issue.
> It seems the tree-vec-generic pass is promoting my vector operations to
> BLKmode and therefore the VECTOR_MODE_P macro evaluates to false,
> falling back to scalar mode.
> I thought I got it working for a moment when I forgot to fix the
> HARD_MODE_REGNO_OK macro that evaluated to false for vector registers.
> In that case I mange to dodge this issue but I see another issue
> regarding register allocation (obviously! :P)
> So the bottom line would be, how do I make sure that my "compute_type"
> is V4SF instead of BLKmode? Where does this promotion happen?
TYPE_MODE macro for vectors is actually a call to vector_type_mode. You
should probably look at it first. You may also check what mode_for_vector
returns for float vector in your case.
> Thanks a lot!