The main difference between VFPv2 and VFPv3 are: * deprecated vector mode * new instructions: vmov immediate and conversion with fixed point. * VFPv3 has an option to have 32 double registers
V8 assumes 16 D registers, never used the vector mode or conversion to fixed point. As far as I can see the only missing feature from VFPv2 used by V8 is the vmov immediate instruction. Also you can have hardfp ABI and VPv2. On 23 July 2012 08:21, <[email protected]> wrote: > Some comments. Adding Sven for more opinions. Generally, this patch opens up > a > bunch of questions, and I'm not familiar enough with ARM to answer all of > these: > - Do we support crankshaft for VFPv2 already, or only for VFPv3? > - Is there a documentation with a full list of what instructions are > available > on VFPv3 and not on VFPv2? > - Have the assertions in all VFP instructions been consequently updated to > the > correct requirement (VFPv2 or VFPv3)? Or is this only the first of many CLs? > > > https://chromiumcodereview.appspot.com/10796069/diff/1/src/arm/assembler-arm.cc > File src/arm/assembler-arm.cc (right): > > https://chromiumcodereview.appspot.com/10796069/diff/1/src/arm/assembler-arm.cc#newcode1748 > src/arm/assembler-arm.cc:1748: ASSERT(CpuFeatures::IsEnabled(VFP3) || > CpuFeatures::IsEnabled(VFP2)); > it seems to me that VFP3 is a superset of VFP2, VSTR is part of VFP2 and > CpuFeatures::IsEnabled(VFP3) implies CpuFeatures::IsEnabled(VFP3). So I > would like to suggest removing the redundant > CpuFeatures::IsEnabled(VFP3). > > https://chromiumcodereview.appspot.com/10796069/diff/1/src/arm/assembler-arm.cc#newcode2020 > src/arm/assembler-arm.cc:2020: ASSERT(CpuFeatures::IsEnabled(VFP3)); > From what I found, this is also available for VFPv2? > http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0489c/CJAEFGHE.html > > https://chromiumcodereview.appspot.com/10796069/diff/1/src/arm/assembler-arm.cc#newcode2034 > src/arm/assembler-arm.cc:2034: ASSERT(CpuFeatures::IsEnabled(VFP3) || > CpuFeatures::IsEnabled(VFP2)); > Ditto. > > https://chromiumcodereview.appspot.com/10796069/diff/1/src/arm/assembler-arm.cc#newcode2049 > src/arm/assembler-arm.cc:2049: ASSERT(CpuFeatures::IsEnabled(VFP3)); > Ditto. Also enable for VFP2? > > https://chromiumcodereview.appspot.com/10796069/ > > > -- > v8-dev mailing list > [email protected] > http://groups.google.com/group/v8-dev -- v8-dev mailing list [email protected] http://groups.google.com/group/v8-dev
