VFP Support for ARM
From: Rui Tang (tangrui76_nospam_at_hotmail.com)
Date: 02/27/05
- Next message: DongFang Tian: "about Buffer Manager"
- Previous message: Michael J. Salamone: "Re: ReadFileEx/WriteFileEx?"
- Messages sorted by: [ date ] [ thread ]
Date: Sat, 26 Feb 2005 19:45:13 -0800
I hope to understand the way VFP is supported in ARM. The sample
implementation in ARMIntegrator is kind of confusing to me. Can some one
help me on the following questions? Thanks in advance.
1. I cannot find any VFP arithmatic instructions in assembly source files
under either the ARMIntegrator directory or the WinCE PRIVATE directory. Nor
did I find any compiler flag that can enable VFP instruction to be
generated. How is VFP instructions generated?
2. I am lost on whether the sample implementation is merely a software
emulation on VFP. According to document, the vfp.c is supposed to provide
support code for hardware VFP. However, I found that it seems actually calls
c statement to do float point calculations. For example, after decoding that
the VFP instruction is a FMAC instruction, it actually get the result like
this:
double dest, rhs, lhs;
switch (ptrFPStatus->opcode)
{
case FMAC: // Fd = Fd + (Fn * Fm)
rhs = lhs * rhs;
dest = dest + rhs;
...
}
3. Is WinCE working in such a way that every float point instruction will
trigger an undefined instruction exception and then kernel will handle it
either by VFP hardware or VFP software emualator?
Rui
- Next message: DongFang Tian: "about Buffer Manager"
- Previous message: Michael J. Salamone: "Re: ReadFileEx/WriteFileEx?"
- Messages sorted by: [ date ] [ thread ]
Relevant Pages
|
|