public inbox for gcc-bugs@sourceware.org help / color / mirror / Atom feed
From: "jsm28 at gcc dot gnu.org" <gcc-bugzilla@gcc.gnu.org> To: gcc-bugs@gcc.gnu.org Subject: [Bug target/63250] New: Complex fp16 arithmetic uses nonexistent libgcc functions Date: Fri, 12 Sep 2014 20:42:00 -0000 [thread overview] Message-ID: <bug-63250-4@http.gcc.gnu.org/bugzilla/> (raw) https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63250 Bug ID: 63250 Summary: Complex fp16 arithmetic uses nonexistent libgcc functions Product: gcc Version: 4.9.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: jsm28 at gcc dot gnu.org Target: arm*-*-* If on ARM you declare complex __fp16 values using __attribute__((mode(HC))) (because you can't use _Complex __fp16 directly, the ARM analogue of bug 32187), this is accepted, but multiplication and division of those values produces references to libgcc functions __mulhc3 and __divhc3 that don't exist. E.g., compiled with -O2 -mfp16-format=ieee: typedef _Complex float fp16c __attribute__((mode(HC))); fp16c a, b; fp16c f (void) { return a * b; } Just as __fp16 values are promoted to float for arithmetic, so should complex fp16 values probably be promoted to complex float. (Were TS 18661-3 implemented, there would be various differences from the existing __fp16 and __float128 support in GCC, but there would still be no need for HCmode operations as distinct from promoting to SCmode then converting results back to HCmode at some point, whether you define FLT_EVAL_METHOD to 32, which would be the closest equivalent to the existing promotion, or treat the promotion as an implementation detail and truncate after every operation.)
next reply other threads:[~2014-09-12 20:42 UTC|newest] Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top 2014-09-12 20:42 jsm28 at gcc dot gnu.org [this message] 2014-09-23 0:49 ` [Bug target/63250] " jsm28 at gcc dot gnu.org 2015-01-16 15:58 ` ramana at gcc dot gnu.org 2015-01-16 16:33 ` joseph at codesourcery dot com
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=bug-63250-4@http.gcc.gnu.org/bugzilla/ \ --to=gcc-bugzilla@gcc.gnu.org \ --cc=gcc-bugs@gcc.gnu.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
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).