Yes you could downgrade all the but the vmov immediate instruction. On 23 July 2012 12:46, Yang Guo <[email protected]> wrote: > Thank you Rodolph! Does that mean we can "downgrade" the requirement for all > VFP instructions used in V8 to VFPv2 except for vmov(const DwVfpRegister, > double imm, const Condition) ? That would help Chromium on Raspberry Pi a > lot. > > Yang > > > On Mon, Jul 23, 2012 at 12:45 PM, Rodolph Perfetta > <[email protected]> wrote: >> >> 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 > > > -- > 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
