[LLVMdev] ARM thumb-2 instruction used for non-thumb2 CPUs

Evan Cheng evan.cheng at apple.com
Wed Jun 22 16:24:07 PDT 2011


Hi Renato,

We are *very* interested in getting ARM MC in shape. It's the core for an ARM assembler, disassembler, and MC JIT. To me, there are three main tasks:

1. Get all of the tests (which are not using inline asm) passing with -integrated-as.
2. Finish up ARM asm parser so integrated-as can support inline asm and to use it to build a standalone assembler.
3. Rewrite the ARM disassembler. We don't think the current implementation is good enough for production usage.

For Darwin, we believe #1 is very close. We'll soon find some time start large scale testing. For ELF, it's less clear. You guys should definitely try it out and report bugs.

We also plan on tackling #2 in the not too distant future. It's a big chunk of work so we'd appreciate any assistance on this. #3 is less urgent, but we'd like to gut the existing one and replace it with something that's more auto-generated than what's currently there.

Evan

On Jun 22, 2011, at 3:01 PM, Jim Grosbach wrote:

> 
> On Jun 22, 2011, at 2:08 PM, Renato Golin wrote:
> 
>> On 22 June 2011 19:18, Anton Korobeynikov <anton at korobeynikov.info> wrote:
>>> Unfortunately, you have to live with this. Until recently binutils
>>> were quite buggy wrt thumb2 code, so, most probably you will need new
>>> binutils in any case.
>> 
>> Hi Anton,
>> 
>> It's not so simple. GPL3 can be quite a nuisance to change and even to
>> use. This is why LLVM is becoming to popular for ARM... ;)
>> 
>> Jim, how much work would you reckon it'll take to have a working assembler?
>> 
> 
> You mean to patch the old binutils to support this old instruction? Very easy, I'd expect (well, as easy as anything ever is in binutils).
> 
> To get -integrated-as working so that we don't need to go through the assembler at all should be mostly a matter of bug fixing, modulo inline assembly support. For non-trivial inline assembly, and to get a system assembler replacement based on the MC assembler, it'll be a bigger task. The ARM asm parser is currently in need of some tender loving care. That's coming soon, but it's a non-trivial task.
> 
> For -integrated-as, I would suggest giving it a try. I'm not completely sure how complete the support is for ELF, but I think it's in somewhat OK shape, at least. Worth trying. That would neatly avoid the problem if it works. If it doesn't, we should fix the bugs so it does. ;)
> 
> -Jim
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev




More information about the llvm-dev mailing list