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

Reply via email to