[Bug 710652] Re: ARM neon vld1q_lane_u8 & co. don't accept lanes >= 8
Andrew Stubbs
710652 at bugs.launchpad.net
Fri Jul 15 10:04:02 UTC 2011
** Tags added: 46merge
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to gcc-4.5 in Ubuntu.
https://bugs.launchpad.net/bugs/710652
Title:
ARM neon vld1q_lane_u8 & co. don't accept lanes >= 8
Status in The GNU Compiler Collection:
Fix Released
Status in Linaro GCC:
Fix Released
Status in Linaro GCC Tracking:
Fix Released
Status in “gcc-4.5” package in Ubuntu:
Fix Released
Bug description:
The testcase:
#include <arm_neon.h>
uint8x16_t
foo (uint8_t *a, uint8x16_t b)
{
vst1q_lane_u8 (a, b, 14);
return vld1q_lane_u8 (a + 0x100, b, 15);
}
fails with:
error: argument must be a constant
The v{ld,st}1q_lane_{u,s,p}8 intrinsic functions are supposed to take a range
between 0 and 15. The function is then converted to a vld1 or vst1 of one half
of the quad value. The problem is that the lane predicate doesn't account for
this, and only accepts the 0..7 range that are supported by vld1 and vst1.
The error could be a bit friendlier too; maybe "argument out of range" or
something. That's a problem in a separate piece of code though, so I'm not
treating it as part of this bug.
To manage notifications about this bug go to:
https://bugs.launchpad.net/gcc/+bug/710652/+subscriptions
More information about the foundations-bugs
mailing list