public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug target/95399] New: [ARM, AArch64] 32/64-bit vcvtnq_* functions are missing
@ 2020-05-29 0:00 evan@coeus-group.com
2020-05-29 8:13 ` [Bug target/95399] " ktkachov at gcc dot gnu.org
` (4 more replies)
0 siblings, 5 replies; 6+ messages in thread
From: evan@coeus-group.com @ 2020-05-29 0:00 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95399
Bug ID: 95399
Summary: [ARM, AArch64] 32/64-bit vcvtnq_* functions are
missing
Product: gcc
Version: 10.1.1
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: target
Assignee: unassigned at gcc dot gnu.org
Reporter: evan@coeus-group.com
Target Milestone: ---
Documentation:
https://developer.arm.com/architectures/instruction-sets/simd-isas/neon/intrinsics?search=vcvtnq
Clang supports them: https://godbolt.org/z/xsMfSz
It looks like vcvtnq_s32_f32, vcvtnq_u32_f32, vcvtnq_s64_f64, and
vcvtnq_u64_f64 are all missing, though vcvtnq_s16_f16 and vcvtnq_u16_f16 are
present.
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug target/95399] [ARM, AArch64] 32/64-bit vcvtnq_* functions are missing
2020-05-29 0:00 [Bug target/95399] New: [ARM, AArch64] 32/64-bit vcvtnq_* functions are missing evan@coeus-group.com
@ 2020-05-29 8:13 ` ktkachov at gcc dot gnu.org
2020-05-29 16:33 ` evan@coeus-group.com
` (3 subsequent siblings)
4 siblings, 0 replies; 6+ messages in thread
From: ktkachov at gcc dot gnu.org @ 2020-05-29 8:13 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95399
ktkachov at gcc dot gnu.org changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |ktkachov at gcc dot gnu.org
--- Comment #1 from ktkachov at gcc dot gnu.org ---
Hmm... I see them present for aarch64 and even in the gotbolt setup you
provided (use ARM64 gcc 8.2)
They do seem to be missing from arm though indeed
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug target/95399] [ARM, AArch64] 32/64-bit vcvtnq_* functions are missing
2020-05-29 0:00 [Bug target/95399] New: [ARM, AArch64] 32/64-bit vcvtnq_* functions are missing evan@coeus-group.com
2020-05-29 8:13 ` [Bug target/95399] " ktkachov at gcc dot gnu.org
@ 2020-05-29 16:33 ` evan@coeus-group.com
2020-05-29 16:37 ` [Bug target/95399] [ARM] " ktkachov at gcc dot gnu.org
` (2 subsequent siblings)
4 siblings, 0 replies; 6+ messages in thread
From: evan@coeus-group.com @ 2020-05-29 16:33 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95399
--- Comment #2 from Evan Nemerson <evan@coeus-group.com> ---
Created attachment 48635
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=48635&action=edit
List of functions missing from 32-bit arm_neon.h
You're right, sorry. I'm not sure why I was thinking that header was shared.
It looks like there are a *lot* more of these. Based on a quick script to grep
arm_neon.h for each function listed on ARM's web site
(<https://developer.arm.com/architectures/instruction-sets/simd-isas/neon/intrinsics>)
as v7/A32 or v7/A32/A64 there are 47 functions missing (plus another 108 if you
include the *_x1/2/3/4 functions, and another 145 if you include the
poly/f16/bf16 stuff).
Here is a list of those first 47:
vcvtaq_s32_f32
vcvtaq_u32_f32
vcvta_s32_f32
vcvta_u32_f32
vcvtmq_s32_f32
vcvtmq_u32_f32
vcvtm_s32_f32
vcvtm_u32_f32
vcvtnq_s32_f32
vcvtnq_u32_f32
vcvtn_s32_f32
vcvtn_u32_f32
vcvtpq_s32_f32
vcvtpq_u32_f32
vcvtp_s32_f32
vcvtp_u32_f32
vfma_n_f32
vfmaq_n_f32
vld2q_dup_f32
vld2q_dup_s16
vld2q_dup_s32
vld2q_dup_s8
vld2q_dup_u16
vld2q_dup_u32
vld2q_dup_u8
vld3q_dup_f32
vld3q_dup_s16
vld3q_dup_s32
vld3q_dup_s8
vld3q_dup_u16
vld3q_dup_u32
vld3q_dup_u8
vld4q_dup_f32
vld4q_dup_s16
vld4q_dup_s32
vld4q_dup_s8
vld4q_dup_u16
vld4q_dup_u32
vld4q_dup_u8
vreinterpretq_f64_u64
vrndi_f32
vrndiq_f32
vrndn_f64
vrndnq_f64
vrndns_f32
vst3q_lane_s8
vst3q_lane_u8
I'm not sure how reliable ARM's documentation is... I see that there are
several f64 functions in that list, and I always thought those were supposed to
be exclusive to AArch64. Assuming ARM's documentation is accurate, though, all
the functions I've checked do seem to be legitimately missing (i.e., I haven't
seen any false positives from my script).
I'm attaching the full list (300 functions), not sure how you want me to handle
this. Should I file separate bugs for each group (i.e., this one could be for
vcvt*, another one for vrnd*, another for vfma*, etc.)? One for all of them?
Or just use this bug for all of them?
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug target/95399] [ARM] 32/64-bit vcvtnq_* functions are missing
2020-05-29 0:00 [Bug target/95399] New: [ARM, AArch64] 32/64-bit vcvtnq_* functions are missing evan@coeus-group.com
2020-05-29 8:13 ` [Bug target/95399] " ktkachov at gcc dot gnu.org
2020-05-29 16:33 ` evan@coeus-group.com
@ 2020-05-29 16:37 ` ktkachov at gcc dot gnu.org
2020-05-29 18:34 ` evan@coeus-group.com
2020-06-03 9:24 ` clyon at gcc dot gnu.org
4 siblings, 0 replies; 6+ messages in thread
From: ktkachov at gcc dot gnu.org @ 2020-05-29 16:37 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95399
ktkachov at gcc dot gnu.org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Ever confirmed|0 |1
Last reconfirmed| |2020-05-29
--- Comment #3 from ktkachov at gcc dot gnu.org ---
Thanks for this. Having this bug listing all of the missing intrinsics is fine.
If you are willing to do the same for the aarch64 functions (keep in mind there
are other include files like arm_fp16.h and arm_bf16.h involved) that would be
a good separate report
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug target/95399] [ARM] 32/64-bit vcvtnq_* functions are missing
2020-05-29 0:00 [Bug target/95399] New: [ARM, AArch64] 32/64-bit vcvtnq_* functions are missing evan@coeus-group.com
` (2 preceding siblings ...)
2020-05-29 16:37 ` [Bug target/95399] [ARM] " ktkachov at gcc dot gnu.org
@ 2020-05-29 18:34 ` evan@coeus-group.com
2020-06-03 9:24 ` clyon at gcc dot gnu.org
4 siblings, 0 replies; 6+ messages in thread
From: evan@coeus-group.com @ 2020-05-29 18:34 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95399
Evan Nemerson <evan@coeus-group.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Attachment #48635|0 |1
is obsolete| |
--- Comment #4 from Evan Nemerson <evan@coeus-group.com> ---
Created attachment 48637
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=48637&action=edit
List of functions missing from 32-bit arm_{neon,fp16,bf16}.h
Sure, I just filed #95421 for AArch64.
Thanks for the note about arm_fp16.h and arm_bf16.h; I hadn't realized those
functions were in separate headers. That bring the total down to 264
functions, of which 236 are present in the AArch64 version. Here is the
updated list.
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug target/95399] [ARM] 32/64-bit vcvtnq_* functions are missing
2020-05-29 0:00 [Bug target/95399] New: [ARM, AArch64] 32/64-bit vcvtnq_* functions are missing evan@coeus-group.com
` (3 preceding siblings ...)
2020-05-29 18:34 ` evan@coeus-group.com
@ 2020-06-03 9:24 ` clyon at gcc dot gnu.org
4 siblings, 0 replies; 6+ messages in thread
From: clyon at gcc dot gnu.org @ 2020-06-03 9:24 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95399
Christophe Lyon <clyon at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |clyon at gcc dot gnu.org
--- Comment #5 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] 6+ messages in thread
end of thread, other threads:[~2020-06-03 9:24 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-05-29 0:00 [Bug target/95399] New: [ARM, AArch64] 32/64-bit vcvtnq_* functions are missing evan@coeus-group.com
2020-05-29 8:13 ` [Bug target/95399] " ktkachov at gcc dot gnu.org
2020-05-29 16:33 ` evan@coeus-group.com
2020-05-29 16:37 ` [Bug target/95399] [ARM] " ktkachov at gcc dot gnu.org
2020-05-29 18:34 ` evan@coeus-group.com
2020-06-03 9:24 ` 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).