From: Heikki Lindholm <holindho@domain.hid>
To: xenomai@xenomai.org
Subject: [Xenomai-core] [PATCH] Add fptest for powerpc
Date: Sat, 10 Jun 2006 19:47:13 +0300 [thread overview]
Message-ID: <448AF791.8080707@domain.hid> (raw)
[-- Attachment #1: Type: text/plain, Size: 271 bytes --]
This adds powerpc version of fptest.h. It just stores and loads the raw
integer into/from FPU registers without converting to proper IEEE form.
Converting would have added unneccessary complexity. As a side note, the
ppc barfs on the test with "1000 != 10". :I
-- hl
[-- Attachment #2: xenomai-060610-ppc-fptest.patch --]
[-- Type: text/plain, Size: 2045 bytes --]
diff -Nru xenomai.orig/include/asm-powerpc/fptest.h xenomai/include/asm-powerpc/fptest.h
--- xenomai.orig/include/asm-powerpc/fptest.h 2006-06-10 10:29:29.335736000 +0000
+++ xenomai/include/asm-powerpc/fptest.h 2006-06-10 16:12:09.395132000 +0000
@@ -10,11 +10,94 @@
static inline void fp_regs_set(unsigned val)
{
+ uint64_t fpval = val;
+ __asm__ __volatile__("lfd 0, %0\n"
+ " fmr 1, 0\n"
+ " fmr 2, 0\n"
+ " fmr 3, 0\n"
+ " fmr 4, 0\n"
+ " fmr 5, 0\n"
+ " fmr 6, 0\n"
+ " fmr 7, 0\n"
+ " fmr 8, 0\n"
+ " fmr 9, 0\n"
+ " fmr 10, 0\n"
+ " fmr 11, 0\n"
+ " fmr 12, 0\n"
+ " fmr 13, 0\n"
+ " fmr 14, 0\n"
+ " fmr 15, 0\n"
+ " fmr 16, 0\n"
+ " fmr 17, 0\n"
+ " fmr 18, 0\n"
+ " fmr 19, 0\n"
+ " fmr 20, 0\n"
+ " fmr 21, 0\n"
+ " fmr 22, 0\n"
+ " fmr 23, 0\n"
+ " fmr 24, 0\n"
+ " fmr 25, 0\n"
+ " fmr 26, 0\n"
+ " fmr 27, 0\n"
+ " fmr 28, 0\n"
+ " fmr 29, 0\n"
+ " fmr 30, 0\n"
+ " fmr 31, 0\n"
+ :
+ : "m" (fpval));
}
+#define FPTEST_REGVAL(n) { \
+ uint64_t t; \
+ __asm__ __volatile__(" stfd " #n ", %0" : "=m" (t)); \
+ e[n] = (unsigned)t; \
+ }
+
static inline int fp_regs_check(unsigned val)
{
- return 0;
+ unsigned i, failed = 0;
+ uint32_t e[32];
+
+ FPTEST_REGVAL(0);
+ FPTEST_REGVAL(1);
+ FPTEST_REGVAL(2);
+ FPTEST_REGVAL(3);
+ FPTEST_REGVAL(4);
+ FPTEST_REGVAL(5);
+ FPTEST_REGVAL(6);
+ FPTEST_REGVAL(7);
+ FPTEST_REGVAL(8);
+ FPTEST_REGVAL(9);
+ FPTEST_REGVAL(10);
+ FPTEST_REGVAL(11);
+ FPTEST_REGVAL(12);
+ FPTEST_REGVAL(13);
+ FPTEST_REGVAL(14);
+ FPTEST_REGVAL(15);
+ FPTEST_REGVAL(16);
+ FPTEST_REGVAL(17);
+ FPTEST_REGVAL(18);
+ FPTEST_REGVAL(19);
+ FPTEST_REGVAL(20);
+ FPTEST_REGVAL(21);
+ FPTEST_REGVAL(22);
+ FPTEST_REGVAL(23);
+ FPTEST_REGVAL(24);
+ FPTEST_REGVAL(25);
+ FPTEST_REGVAL(26);
+ FPTEST_REGVAL(27);
+ FPTEST_REGVAL(28);
+ FPTEST_REGVAL(29);
+ FPTEST_REGVAL(30);
+ FPTEST_REGVAL(31);
+
+ for (i = 0; i < 32; i++)
+ if (e[i] != val) {
+ printk("r%d: %u != %u\n", i, e[i], val);
+ failed = 1;
+ }
+
+ return failed;
}
#endif /* FPTEST_H */
next reply other threads:[~2006-06-10 16:47 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-06-10 16:47 Heikki Lindholm [this message]
2006-06-10 17:53 ` [Xenomai-core] [PATCH] Add fptest for powerpc Gilles Chanteperdrix
2006-06-10 20:48 ` Heikki Lindholm
2006-06-11 12:34 ` Gilles Chanteperdrix
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=448AF791.8080707@domain.hid \
--to=holindho@domain.hid \
--cc=xenomai@xenomai.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: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.