[llvm-commits] [llvm] r154480 - in /llvm/trunk: lib/Target/ARM/ARM.td lib/Target/ARM/ARMAsmPrinter.cpp lib/Target/ARM/ARMInstrInfo.td lib/Target/ARM/ARMInstrNEON.td lib/Target/ARM/ARMInstrVFP.td lib/Target/ARM/ARMSubtarget.cpp lib/Target/ARM/ARMS

Ana Pazos apazos at codeaurora.org
Wed Apr 11 11:13:47 PDT 2012


Hi Evan,

There was a long discussion on this mailing list about Neon2 when I
submitted the patch. You can find them all by searching the archive. See
some of the emails attached.

Btw, you can add Neon2 support to clang  instead of reusing neon-vfp4 flag
which the reviewers did not like.

Thanks,
Ana.

-----Original Message-----
From: llvm-commits-bounces at cs.uiuc.edu
[mailto:llvm-commits-bounces at cs.uiuc.edu] On Behalf Of Evan Cheng
Sent: Wednesday, April 11, 2012 10:21 AM
To: Anton Korobeynikov
Cc: llvm-commits at cs.uiuc.edu
Subject: Re: [llvm-commits] [llvm] r154480 - in /llvm/trunk:
lib/Target/ARM/ARM.td lib/Target/ARM/ARMAsmPrinter.cpp
lib/Target/ARM/ARMInstrInfo.td lib/Target/ARM/ARMInstrNEON.td
lib/Target/ARM/ARMInstrVFP.td lib/Target/ARM/ARMSubtarget.cpp
lib/Target/ARM/ARMS


On Apr 11, 2012, at 4:40 AM, Anton Korobeynikov wrote:

> Hello Evan,
> 
>> Clean up ARM fused multiply + add/sub support some more: rename some 
>> isel predicates.
>> Also remove NEON2 since it's not really useful and it is confusing. 
>> If NEON + VFP4 implies NEON2 but NEON2 doesn't imply NEON + VFP4, 
>> what does it really mean?
> There was the discussion about this in ML, consider checking it.

I only saw this:

> Here is an updated patch for the ARM fused multiply add/sub feature 
> with the relevant suggestions incorporated.
> 
> In this update:
> - I assumed neon2 does not imply vfpv4, but neon and vfpv4 imply neon2.


Previously hasNEON2 is both a subtarget feature as well as a isel predicate:
'return HasNEON2 || (HasNEON && HasVFPv4);'.

This is wrong because it would break the assembler and disassembler when you
pass -mattr=+vfp4 (because HasNEON2 would still be false). Furthermore,
since (HasNEON && HasVFPv4) implies HasNEON2, it means NEON2 is equal or is
a subset of the features implied by NEON && HasVFPv4. Since currently there
are no instructions that are predicated on HasVFPv4 should not be available
for a target with only NEON2, there is really no point in having this
subtarget feature.

Also note:

> - Regarding Neon2 flag, Code Sourcery GCC seems to support only these
flags:
> -mfpu=vfpv4 		
> -mfpu=vfpv4-d16
> -mfpu=neon-vfpv4
> -mfpu=vfpv3-d16-fp16
> -mfpu=vfpv3-fp16

There isn't a -mfpu=neon2 flag.

Evan


> 
> --
> With best regards, Anton Korobeynikov
> Faculty of Mathematics and Mechanics, Saint Petersburg State 
> University

_______________________________________________
llvm-commits mailing list
llvm-commits at cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
-------------- next part --------------
An embedded message was scrubbed...
From: "James Molloy" <james.molloy at arm.com>
Subject: RE: [llvm-commits] LLVM patch to support ARM fused multiply	add/subtract instructions
Date: Tue, 24 Jan 2012 02:01:15 -0700
Size: 3332
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20120411/e6b91e8f/attachment.mht>
-------------- next part --------------
An embedded message was scrubbed...
From: "James Molloy" <james.molloy at arm.com>
Subject: RE: [llvm-commits] LLVM patch to support ARM fused multiply	add/subtract instructions
Date: Tue, 24 Jan 2012 02:33:19 -0700
Size: 3037
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20120411/e6b91e8f/attachment-0001.mht>
-------------- next part --------------
An embedded message was scrubbed...
From: "Anton Korobeynikov" <anton at korobeynikov.info>
Subject: Re: [llvm-commits] LLVM patch to support ARM fused multiply	add/subtract instructions
Date: Tue, 24 Jan 2012 03:39:12 -0700
Size: 3460
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20120411/e6b91e8f/attachment-0002.mht>
-------------- next part --------------
An embedded message was scrubbed...
From: "James Molloy" <james.molloy at arm.com>
Subject: Re: [llvm-commits] LLVM patch to support ARM fused	multiply	add/subtract instructions
Date: Tue, 24 Jan 2012 03:47:19 -0700
Size: 4103
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20120411/e6b91e8f/attachment-0003.mht>
-------------- next part --------------
An embedded message was scrubbed...
From: "James Molloy" <james.molloy at arm.com>
Subject: RE: [llvm-commits] LLVM patch to support ARM fused	multiply	add/subtract instructions
Date: Wed, 25 Jan 2012 02:27:18 -0700
Size: 3690
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20120411/e6b91e8f/attachment-0004.mht>
-------------- next part --------------
An embedded message was scrubbed...
From: "Anton Korobeynikov" <asl at math.spbu.ru>
Subject: Re: [llvm-commits] LLVM patch to support ARM fused multiply	add/subtract instructions
Date: Wed, 25 Jan 2012 06:42:05 -0700
Size: 2588
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20120411/e6b91e8f/attachment-0005.mht>


More information about the llvm-commits mailing list