Media instructions like - parallel add and subtract, Sign/Zero Extend and Add instructions seem to be missing from ARM target support. These instructions are not listed in GenInstrNames.inc Kapil On Fri, Oct 10, 2008 at 11:54 AM, Evan Cheng <evan.cheng at apple.com> wrote:> > Can you give some examples of missing instructions? > > Evan > > On Oct 9, 2008, at 4:58 PM, kapil anand wrote: > >> I have a question regarding ARM support. It was mentioned in mails below that LLVM supports ARM v6 but a lot of ARM v6 instructions are actually missing from ARM ISA description files( e.g. Media Instructions). Is there any documentation mentioning the unsupported parts of v6 version >> >> Thanks >> >> --Kapil >> >> >> On Thu, Sep 18, 2008 at 2:14 PM, Evan Cheng <evan.cheng at apple.com> wrote: >>> >>> >>> On Sep 17, 2008, at 3:00 PM, Tyler Wilson wrote: >>> >>>> Good day, >>>> >>>> I have looked around for this information, but I have not been able to gain a clear understanding: what is the status of the LLVM ARM backend? That is, do the following work: >>>> >>> >>> >>> >>>> 1. Generating Thumb code: I saw a video online where they describe an issue with using the ARM Thumb back-end >>> >>> >>> Thumb works. But it generate poor code. >>> >>>> 2. Generating code for ARM9 (ARMv5?) or ARM7 (ARMv4): again, the same presentation mentioned that it only generated ARMv6 or 7. Does the back end work on older ARM processors today? >>> >>> >>> ARM v6 is known to work well. I am not sure about v4 and v5. They should mostly work, but I don't test them. There is no support for v7. >>> >>>> >>>> I have seen the notes on the Apple provided bits to the project, but those were form early-mid 2007, and I have not seen a clear declaration on what is marked as working or not. >>> >>> >>> There hasn't been a lot of activities in ARM target. Patches welcome! >>> >>> Evan >>> >>>> >>>> Thank you, >>>> Tyler >>>> _______________________________________________ >>>> LLVM Developers mailing list >>>> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu >>>> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev >>> >>> >>> >>> _______________________________________________ >>> LLVM Developers mailing list >>> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu >>> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev >>> >> >> _______________________________________________ >> LLVM Developers mailing list >> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu >> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev > > > > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev >
Right. Those are not currently supported. Patches welcome. :-) Evan On Oct 10, 2008, at 2:07 PM, kapil anand wrote:> Media instructions like - parallel add and subtract, Sign/Zero > Extend and Add instructions seem to be missing from ARM target > support. These instructions are not listed in GenInstrNames.inc > > > Kapil > > > > On Fri, Oct 10, 2008 at 11:54 AM, Evan Cheng <evan.cheng at apple.com> > wrote: >> >> Can you give some examples of missing instructions? >> >> Evan >> >> On Oct 9, 2008, at 4:58 PM, kapil anand wrote: >> >>> I have a question regarding ARM support. It was mentioned in mails >>> below that LLVM supports ARM v6 but a lot of ARM v6 instructions >>> are actually missing from ARM ISA description files( e.g. Media >>> Instructions). Is there any documentation mentioning the >>> unsupported parts of v6 version >>> >>> Thanks >>> >>> --Kapil >>> >>> >>> On Thu, Sep 18, 2008 at 2:14 PM, Evan Cheng <evan.cheng at apple.com> >>> wrote: >>>> >>>> >>>> On Sep 17, 2008, at 3:00 PM, Tyler Wilson wrote: >>>> >>>>> Good day, >>>>> >>>>> I have looked around for this information, but I have not been >>>>> able to gain a clear understanding: what is the status of the >>>>> LLVM ARM backend? That is, do the following work: >>>>> >>>> >>>> >>>> >>>>> 1. Generating Thumb code: I saw a video online where they >>>>> describe an issue with using the ARM Thumb back-end >>>> >>>> >>>> Thumb works. But it generate poor code. >>>> >>>>> 2. Generating code for ARM9 (ARMv5?) or ARM7 (ARMv4): >>>>> again, the same presentation mentioned that it only generated >>>>> ARMv6 or 7. Does the back end work on older ARM processors today? >>>> >>>> >>>> ARM v6 is known to work well. I am not sure about v4 and v5. They >>>> should mostly work, but I don't test them. There is no support >>>> for v7. >>>> >>>>> >>>>> I have seen the notes on the Apple provided bits to the project, >>>>> but those were form early-mid 2007, and I have not seen a clear >>>>> declaration on what is marked as working or not. >>>> >>>> >>>> There hasn't been a lot of activities in ARM target. Patches >>>> welcome! >>>> >>>> Evan >>>> >>>>> >>>>> Thank you, >>>>> Tyler >>>>> _______________________________________________ >>>>> LLVM Developers mailing list >>>>> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu >>>>> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev >>>> >>>> >>>> >>>> _______________________________________________ >>>> LLVM Developers mailing list >>>> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu >>>> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev >>>> >>> >>> _______________________________________________ >>> LLVM Developers mailing list >>> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu >>> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev >> >> >> >> _______________________________________________ >> LLVM Developers mailing list >> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu >> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev >> > > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
On Oct 10, 2008, at 2:07 PM, kapil anand wrote:> Media instructions like - parallel add and subtract, Sign/Zero > Extend and Add instructions seem to be missing from ARM target > support. These instructions are not listed in GenInstrNames.incThese would be best supported by adding builtins to llvm-gcc and adding intrinsics to llvm. Some of them could be implemented as <2 x i16> operations as well. Any help to implement this support would be great, -Chris
I have one more question regarding ARM codegen support. Is it possible to pass a flag to Codegen to generate only ARMv5 instructions and not to use instructions from higher versions, ( In other words, is this version specific information present in LLVM codegen?) Thanks Kapil On Fri, Oct 10, 2008 at 10:12 PM, Chris Lattner <clattner at apple.com> wrote:> > On Oct 10, 2008, at 2:07 PM, kapil anand wrote: > > > Media instructions like - parallel add and subtract, Sign/Zero > > Extend and Add instructions seem to be missing from ARM target > > support. These instructions are not listed in GenInstrNames.inc > > These would be best supported by adding builtins to llvm-gcc and > adding intrinsics to llvm. Some of them could be implemented as <2 x > i16> operations as well. > > Any help to implement this support would be great, > > -Chris > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20081012/e74d1640/attachment.html>