[llvm-commits] [PATCH] arm BFI instruction!

Renato Golin Renato.Golin at arm.com
Tue Jan 18 07:37:29 PST 2011


On 01/18/11 15:14, Bruno Cardoso Lopes wrote:
> The "alternative" one is the form accepted by gas while the other is
> probably the darwin one. The former is documented in the ARM docs,
> from where I got the syntax, the current model I have no idea where
> it's documented, but from the code it seems to accept a (~mask)
> describing the bits which should be copied.

Would be good if someone from Darwin background could explain it, but
that shouldn't delay your patch. The syntax you're implemented is the
syntax I knew... ;)


> I'm not following, the only indentation change in the patch regards a
> 'let Constraints = "$src = $Rd" in' which is now  used for two
> instructions descriptions instead of one.

I meant, if you're changing code AND indentation at the same time, it
looks like just indentation change. More importantly, if highlights the
whole code and not just the lines you've really changed, making it
harder to spot the difference.

But in this case it made sense, I just saw it now... ;)


> The thumb version already has a IsThumb2 predicate, which based on the
> former BFI description already there. This seems to be enough.

Fair enough.


> I agree with you, I'm just following a name convention used for a few
> instruction in the X86 be. I don't think "4-param-BFI" is good either,
> but we need a better name indeed.

Yeah, I meant "something that would hint it's a 4-param instruction",
whatever the TableGen syntax style for that is... ;)


> One of the versions have to be isAsmParserOnly in order to avoid
> decoding conflicts. This would be better described as an instruction
> alias, but IIRC the current tablegen support isn't enough to describe
> the difference between both versions. See the X86 back-end for some
> other examples.

I see the applicability, and why it is this way, but it's kinda ugly. If
there's no other way to do that (I'm no TableGen expert), than that's
fine for me.

cheers,
--renato

-- IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium.  Thank you.





More information about the llvm-commits mailing list