[Patch AArch64] Add support for vectorizable standard math patterns.

Richard Earnshaw rearnsha@arm.com
Mon Dec 17 14:23:00 GMT 2012


On 27/11/12 20:47, Mike Stump wrote:
> On Nov 27, 2012, at 8:51 AM, James Greenhalgh <james.greenhalgh@arm.com> wrote:
>> In particular, we add support for vectorizing across:
>>
>> ceil (), ceilf (), lceil (),
>
>> We add testcases ensuring that each of the expected functions are
>> vectorized. As the i386 and rs6000 backends both ostensibly support
>> these optimisations we add these tests to the generic testsuites, but
>> only wire them up for AArch64. As a target may support any subset of
>> these vectorizations we need a check_effective_target macro for
>> each of them.
>>
>> Because of this change to the generic test code I've CCed Janis
>> Johnson and Mike Stump.
>
> Gosh…  leaves a bad taste in my mouth.    I see why you did it that way…  So, let me just ping folks, anyone see a better way to do this?  If no one admits to having a better solution, I'll approve it.  Let's give them a few days to come up with something concrete, if they fail, Ok.
>


I've been pondering this one for a bit.  I wonder if having a single 
function

check_effective_target_vect_libcall(func)

where func is the name of the function you needed to check, might be 
cleaner.

The idea is that the one function might access an array (set up on the 
first call) and then just use "info exists et_vect_libcalls(func)" to do 
the body of the check.

Not entirely sure my expect foo is good enough to code this up, though.

R.



More information about the Gcc-patches mailing list