Displaying 20 results from an estimated 4000 matches similar to: "[LLVMdev] [PATCH] Apply Thumb2 ROR optimization only when Thumb2 is supported"
2012 Jul 02
0
[LLVMdev] [PATCH] Apply Thumb2 ROR optimization only when Thumb2 is supported
Hi Matt,
You're absolutely right, that pattern should definitely have an "only-in-Thumb2" predicate attached.
Do you have commit access? Also, if you have a reduced test case, that would be awesome, but the patch is correct as-is even if not.
-Jim
On Jul 2, 2012, at 8:05 AM, Matt Fischer <mattfischer84 at gmail.com> wrote:
> I've been playing around with using LLVM
2012 Jul 02
1
[LLVMdev] [PATCH] Apply Thumb2 ROR optimization only when Thumb2 is supported
I went ahead and committed it, along with a basic test case, in svn r159538.
On Jul 2, 2012, at 9:34 AM, Jim Grosbach <grosbach at apple.com> wrote:
> Hi Matt,
>
> You're absolutely right, that pattern should definitely have an "only-in-Thumb2" predicate attached.
>
> Do you have commit access? Also, if you have a reduced test case, that would be awesome, but
2012 Jun 29
0
[LLVMdev] [PATCH] Apply Thumb2 ROR optimization only when Thumb2 is supported
I've been playing around with using LLVM on one of our projects, which runs on an arm1176jzf-s processor. When compiling for Thumb, a couple of the generated assembly files end up with a 'ror.w' instruction, which is a Thumb2 instruction. Since arm1176jzf-s doesn't support Thumb2, the assembler then turns around and barfs on it.
I don't have any experience with this
2016 May 17
3
llvm-toolchain-3.8 on lower arm targets, specifically Debian armel and Raspbian.
llvm-toolchain-3.8 seems to have problems on debian armel and raspbian.
On raspbian it builds but our armv7 contamination checker blocked it
from entering the repo. Further investigation showed that "compiler-rt"
was being built with -march=armv7 . I was able to remove the -march with
some build-system hacker but then I got a failure on
2011 Sep 03
2
[LLVMdev] The right option combination to compile into ARM/Thumb2 code.
Hello,
I'm trying to convince llc to compile into thumb2 ISA on ARMv7. I'm using:
-march=thumb -mattr=v7,thumb2,vfp3
but llc complains about this with:
llc: error: invalid target 'thumb -mattr=v7,thumb2,vfp3'
I'm using LLVM from Aug 29 2011. To me the set of options looks sane so
I'd like to ask what's wrong with this.
Thanks!
Karel
2011 Sep 03
0
[LLVMdev] The right option combination to compile into ARM/Thumb2 code.
Hi Karel,
It actually looks like the argument parser has parsed "thumb -mattr=v7,thumb2,vfp3" as the full argument to "-march=". Strange.
The easiest way to get what you want is probably "-mtriple thumbv7--". v7 has Thumb2 enabled and VFPv3 (along with NEON) by default.
Cheers,
James
________________________________________
From: llvmdev-bounces at cs.uiuc.edu
2011 Feb 18
2
[LLVMdev] Adding "S" suffixed ARM/Thumb2 instructions
Hello everyone,
I've added the "S" suffixed versions of ARM and Thumb2 instructions to
tablegen. Those are, for example, "movs" or "muls".
Of course, some instructions have already had their twins, such as add/adds,
and I leaved them untouched.
Besides, I propose the codegen optimization based on them, which removes the
redundant comparison in patterns like
orr
2012 Aug 16
3
[LLVMdev] error: instruction requires: thumb2
Hi Everybody,
I recently did a cross-compiling using clang (built with host=x86, target=arm) with the following command:
> clang -march=armv7-a -mfloat-abi=soft -ccc-host-triple arm-none-linux-gnueabi -integrated-as main.c -o main.o -c
and get error message:
-------------------------------------------------------
main.c:9:9: error: instruction requires: thumb2
"ldrex
2012 Aug 16
0
[LLVMdev] error: instruction requires: thumb2
On Thu, Aug 16, 2012 at 12:55 PM, Lei Zhao <leizhao833 at gmail.com> wrote:
> Hi Everybody,
>
> I recently did a cross-compiling using clang (built with host=x86, target=arm) with the following command:
>
> > clang -march=armv7-a -mfloat-abi=soft -ccc-host-triple arm-none-linux-gnueabi -integrated-as main.c -o main.o -c
>
> and get error message:
>
>
2012 Aug 16
2
[LLVMdev] error: instruction requires: thumb2
It works. But a follow-up question: why do I have to compile it to thumb mode in order to pass the compilation? Is there a way to make it compile to regular arm mode? Thanks.
- Lei
On Aug 16, 2012, at 4:00 PM, Eli Friedman wrote:
> On Thu, Aug 16, 2012 at 12:55 PM, Lei Zhao <leizhao833 at gmail.com> wrote:
>> Hi Everybody,
>>
>> I recently did a cross-compiling
2011 Feb 18
0
[LLVMdev] Adding "S" suffixed ARM/Thumb2 instructions
On Feb 17, 2011, at 10:35 PM, Вадим Марковцев wrote:
> Hello everyone,
>
> I've added the "S" suffixed versions of ARM and Thumb2 instructions to tablegen. Those are, for example, "movs" or "muls".
> Of course, some instructions have already had their twins, such as add/adds, and I leaved them untouched.
Adding separate "s" instructions is
2012 Aug 16
0
[LLVMdev] error: instruction requires: thumb2
Sure. Use legal ARM mode syntax for the instruction.
Specifically, there is no offset immediate for the ARM mode LDREX instruction. It's illegal syntax to supply one, even if it's zero.
-Jim
On Aug 16, 2012, at 2:36 PM, Lei Zhao <leizhao833 at gmail.com> wrote:
> It works. But a follow-up question: why do I have to compile it to thumb mode in order to pass the compilation? Is
2012 Jul 28
0
[LLVMdev] Question about arm thumb2 code generation
On Jul 27, 2012, at 9:04 AM, Sebastien DELDON-GNB <sebastien.deldon at st.com> wrote:
> Hi all,
>
> Does llc –march=thumb –mcpu=cortex-a9 enable generation of thumb2 code for armv7 ?
That's how I usually do it. Somewhere in the target description we associate a9 with -mattr=+thumb2.
There are plenty of other ways to get the same result, and it's all very confusing and
2012 Jul 27
2
[LLVMdev] Question about arm thumb2 code generation
Hi all,
Does llc -march=thumb -mcpu=cortex-a9 enable generation of thumb2 code for armv7 ?
Best Regards
Seb
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20120727/da758ea0/attachment.html>
2011 Jun 22
2
[LLVMdev] ARM thumb-2 instruction used for non-thumb2 CPUs
Hi Damjan,
> This sounds like a dead end as newer binutils are GPLv3.
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.
--
With best regards, Anton Korobeynikov
Faculty of Mathematics and Mechanics, Saint Petersburg State University
2011 Feb 18
0
[LLVMdev] Adding "S" suffixed ARM and Thumb2 instructions
Hello everyone,
I've added the "S" suffixed versions of ARM and Thumb2 instructions to the
rest of those declared in tablegen. For example, "movs" or "muls".
Besides, I propose the codegen optimization based on them, which removes
the redundant comparison in patterns like
orr r1, r2, r3 ----> orrs r1, r2, r3
cmp r1, 0
This optimization has
2011 Jun 22
0
[LLVMdev] ARM thumb-2 instruction used for non-thumb2 CPUs
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...
2011 Feb 18
0
[LLVMdev] Adding ARM/Thumb2 instructions with "S" suffux
Hello everyone,
I've added suffixed versions of ARM and Thumb2 instructions to tablegen.
That is, for example, "movs" or "orrs".
I implemented a rather simple codegen optimization which removes the
comparison in patterns like
orr r1, r2 ---> orrs r1, r2
cmp r1, 0
It works and have already shown nice acceleration (e.g., 3.3% in SQLite).
I have a few
2009 Dec 01
4
[LLVMdev] thumb2 has divide instructions
The thumb2 instructions include unsigned and signed divide.
Attached are a patch and test routine.
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: div.diff
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20091201/675cf4c5/attachment.ksh>
-------------- next part --------------
An embedded and charset-unspecified text was
2013 Apr 12
1
[LLVMdev] arm machine code with clang 3.2
What would be the proper clang (3.2) options to generate ARM for Raspberry
pi for LLVM 3.2 with clang 3.2? I realized that "-ccc-host-triple" is no
longer valid option in clang.
p.s.
I googled and found the following which doesn't work with clang 3.2.
To cross-compile for Raspberry Pi add flags -ccc-host-triple arm-eabi -marm
-mfpu=vfp -mcpu=arm1176jzf-s -mtune=arm1176jzf-s