public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug target/95421] New: [AArch64] Missing NEON functions documented on ARM's web site
@ 2020-05-29 18:11 evan@coeus-group.com
2020-05-29 18:30 ` [Bug target/95421] " evan@coeus-group.com
` (3 more replies)
0 siblings, 4 replies; 5+ messages in thread
From: evan@coeus-group.com @ 2020-05-29 18:11 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95421
Bug ID: 95421
Summary: [AArch64] Missing NEON functions documented on ARM's
web site
Product: gcc
Version: 11.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: target
Assignee: unassigned at gcc dot gnu.org
Reporter: evan@coeus-group.com
Target Milestone: ---
Created attachment 48636
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=48636&action=edit
Full list of missing functions
This is a companion to #95399 (which is for the arm headers instead of
aarch64).
Quite a few functions listed in ARM's documentation
(<https://developer.arm.com/architectures/instruction-sets/simd-isas/neon/intrinsics>)
don't seem to be included in GCC's AArch64 arm_{neon,bf16,fp16}.h.
The attached list of 253 functions was generated by just grepping
arm_{neon,bf16,fp16}.h for each function in ARM's documentation so it's
possible there are some false positives, but the ones I've checked manually
seem correct. I'm also not sure how accurate ARM's documentation is.
Several functions are actually present in arm but not aarch64, I'm guessing
that will be an easy place to start. Here is that list:
vadd_p16
vadd_p64
vadd_p8
vaddq_p128
vaddq_p16
vaddq_p64
vaddq_p8
vceqq_p64
vceqz_p64
vceqzq_p64
vcvt_high_bf16_f32
vcvt_low_bf16_f32
vld2_lane_bf16
vld2q_lane_bf16
vld3_lane_bf16
vld3q_lane_bf16
vld4_lane_bf16
vld4q_lane_bf16
vrndns_f32
vst2_lane_bf16
vst2q_lane_bf16
vst3_lane_bf16
vst3q_lane_bf16
vst3q_lane_p8
vst3q_lane_s8
vst3q_lane_u8
vst4_lane_bf16
vst4q_lane_bf16
^ permalink raw reply [flat|nested] 5+ messages in thread
* [Bug target/95421] [AArch64] Missing NEON functions documented on ARM's web site
2020-05-29 18:11 [Bug target/95421] New: [AArch64] Missing NEON functions documented on ARM's web site evan@coeus-group.com
@ 2020-05-29 18:30 ` evan@coeus-group.com
2020-06-03 9:25 ` clyon at gcc dot gnu.org
` (2 subsequent siblings)
3 siblings, 0 replies; 5+ messages in thread
From: evan@coeus-group.com @ 2020-05-29 18:30 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95421
--- Comment #1 from Evan Nemerson <evan@coeus-group.com> ---
> Several functions are actually present in arm but not aarch64, I'm guessing
> that will be an easy place to start. Here is that list:
I pasted the wrong list here; that is actually the list of functions which are
missing from both arm and aarch64. The attached list is accurate (AFAICT). It
looks like the majority of functions missing from aarch64 are present in arm
(and vice versa), so hopefully this should be a bit easier to fix than I
thought.
^ permalink raw reply [flat|nested] 5+ messages in thread
* [Bug target/95421] [AArch64] Missing NEON functions documented on ARM's web site
2020-05-29 18:11 [Bug target/95421] New: [AArch64] Missing NEON functions documented on ARM's web site evan@coeus-group.com
2020-05-29 18:30 ` [Bug target/95421] " evan@coeus-group.com
@ 2020-06-03 9:25 ` clyon at gcc dot gnu.org
2020-09-11 12:40 ` sripar01 at gcc dot gnu.org
2020-09-11 12:56 ` clyon at gcc dot gnu.org
3 siblings, 0 replies; 5+ messages in thread
From: clyon at gcc dot gnu.org @ 2020-06-03 9:25 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95421
Christophe Lyon <clyon at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |clyon at gcc dot gnu.org
--- Comment #2 from Christophe Lyon <clyon at gcc dot gnu.org> ---
See also:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71233
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70369
^ permalink raw reply [flat|nested] 5+ messages in thread
* [Bug target/95421] [AArch64] Missing NEON functions documented on ARM's web site
2020-05-29 18:11 [Bug target/95421] New: [AArch64] Missing NEON functions documented on ARM's web site evan@coeus-group.com
2020-05-29 18:30 ` [Bug target/95421] " evan@coeus-group.com
2020-06-03 9:25 ` clyon at gcc dot gnu.org
@ 2020-09-11 12:40 ` sripar01 at gcc dot gnu.org
2020-09-11 12:56 ` clyon at gcc dot gnu.org
3 siblings, 0 replies; 5+ messages in thread
From: sripar01 at gcc dot gnu.org @ 2020-09-11 12:40 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95421
SRINATH PARVATHANENI <sripar01 at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |sripar01 at gcc dot gnu.org
--- Comment #3 from SRINATH PARVATHANENI <sripar01 at gcc dot gnu.org> ---
I see following intrinsics for AArch64 already implemented.
vst3q_lane_p8
vst3q_lane_s8
vst3q_lane_u8
__extension__ extern __inline void __attribute__ ((__always_inline__,
__gnu_inline__, __artificial__)) vst3q_lane_p8 (poly8_t *__ptr, poly8x16x3_t
__b, const int __c) { union { poly8x16x3_t __i; __builtin_aarch64_simd_ci __o;
} __temp = { __b }; __builtin_aarch64_st3_lanev16qi ((__builtin_aarch64_simd_qi
*) __ptr, __temp.__o, __c); }
__extension__ extern __inline void __attribute__ ((__always_inline__,
__gnu_inline__, __artificial__)) vst3q_lane_s8 (int8_t *__ptr, int8x16x3_t __b,
const int __c) { union { int8x16x3_t __i; __builtin_aarch64_simd_ci __o; }
__temp = { __b }; __builtin_aarch64_st3_lanev16qi ((__builtin_aarch64_simd_qi
*) __ptr, __temp.__o, __c); }
__extension__ extern __inline void __attribute__ ((__always_inline__,
__gnu_inline__, __artificial__)) vst3q_lane_u8 (uint8_t *__ptr, uint8x16x3_t
__b, const int __c) { union { uint8x16x3_t __i; __builtin_aarch64_simd_ci __o;
} __temp = { __b }; __builtin_aarch64_st3_lanev16qi ((__builtin_aarch64_simd_qi
*) __ptr, __temp.__o, __c); }
^ permalink raw reply [flat|nested] 5+ messages in thread
* [Bug target/95421] [AArch64] Missing NEON functions documented on ARM's web site
2020-05-29 18:11 [Bug target/95421] New: [AArch64] Missing NEON functions documented on ARM's web site evan@coeus-group.com
` (2 preceding siblings ...)
2020-09-11 12:40 ` sripar01 at gcc dot gnu.org
@ 2020-09-11 12:56 ` clyon at gcc dot gnu.org
3 siblings, 0 replies; 5+ messages in thread
From: clyon at gcc dot gnu.org @ 2020-09-11 12:56 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95421
--- Comment #4 from Christophe Lyon <clyon at gcc dot gnu.org> ---
(In reply to SRINATH PARVATHANENI from comment #3)
> I see following intrinsics for AArch64 already implemented.
> vst3q_lane_p8
> vst3q_lane_s8
> vst3q_lane_u8
>
Yes, they are missing in the arm port.
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2020-09-11 12:56 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-05-29 18:11 [Bug target/95421] New: [AArch64] Missing NEON functions documented on ARM's web site evan@coeus-group.com
2020-05-29 18:30 ` [Bug target/95421] " evan@coeus-group.com
2020-06-03 9:25 ` clyon at gcc dot gnu.org
2020-09-11 12:40 ` sripar01 at gcc dot gnu.org
2020-09-11 12:56 ` clyon at gcc dot gnu.org
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).