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]

Re: Incidents in ARM-NEON-Intrinsics


On Wed, 05 Oct 2011 10:37:22 +0900
shiotani@rd.ten.fujitsu.com (åèæå) wrote:

> Hi, Maintainer,
> 
> I found some incidents in
> http://gcc.gnu.org/onlinedocs/gcc/ARM-NEON-Intrinsics.html#ARM-NEON-Intrinsics
> 
> Please check the following:
> 
> |6.54.3.8 Comparison (less-than-or-equal-to)
> |
> |  uint32x2_t vcle_u32 (uint32x2_t, uint32x2_t) 
> |      Form of expected instruction(s): vcge.u32 d0, d0, d0 
>   ãããã(snip)
> |  uint32x4_t vcleq_f32 (float32x4_t, float32x4_t) 
> |      Form of expected instruction(s): vcge.f32 q0, q0, q0 
> 
> in above "vcge"s may be "vcle" or "vcgt".

This is deliberate I think: the register/register forms of vcle, vclt,
vacle etc. are pseudo-instructions, and assemble to vcge, vcgt, etc.
with the operands reversed (a <= b === b >= a).

Are you seeing incorrect code being generated?

Julian


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]