Displaying 20 results from an estimated 1000 matches similar to: "[LLVMdev] Unwanted push/pop on Cortex-M."
2013 Oct 15
1
[LLVMdev] Unwanted push/pop on Cortex-M.
Hi andrea,
R11 treated as frame pointer at arm backend , which is fixed again .
Thanks
Umesh
On Tuesday, October 15, 2013, Andrea Mucignat <andrea at nestlabs.com> wrote:
> Umesh,
> Makes some sort of sense to me, OTOH:
> If instead of choosing r11 as a "dummy" to align the stack we had chosen
some other register in the range r0-r7 then we could have emitted the PUSH
2013 Oct 15
0
[LLVMdev] Unwanted push/pop on Cortex-M.
Umesh,
Makes some sort of sense to me, OTOH:
If instead of choosing r11 as a "dummy" to align the stack we had chosen
some other register in the range r0-r7 then we could have emitted the PUSH
encoding T1 (2 bytes opcode) as opposed to the encoding T2 (which is a 4
bytes opcode).
A
On Tue, Oct 15, 2013 at 2:59 AM, Umesh Kalappa <umesh.kalappa0 at gmail.com>wrote:
> Hi
2013 Oct 21
1
[LLVMdev] [PATCH] Unwanted r11 in push/pop on Cortex-M.
To recap, this is what I was trying to solve:
This C code:
int bar(int a, int b, int c, int d, int e, int f);
int foo(int a, int b, int c, int d, int e )
{
int x = 3*a;
return bar3(a,b,c,d,e,x);
}
Produced the following assembly output:
foo:
push {r11, lr}
sub sp, #8
bl bar
add sp, #8
pop {r11, pc}
The part I didn't like is that push/pop become
2013 Oct 15
0
[LLVMdev] Unwanted push/pop on Cortex-M.
Hi,
I have this code:
void platform_putchar(int, char);
void out_char( char ch );
void out_char( char ch )
{
platform_putchar (0, ch);
}
I'm compiling with the following clang invocation:
$ /usr/local/vendor/toolchains/llvm/3.3/armv7m/bin/armv7m-none-eabi-clang
-mcpu=cortex-m4 -mfloat-abi=soft -mthumb -nostdinc -ffreestanding
-ffunction-sections -fdata-sections -fno-exceptions
2010 Sep 10
3
[LLVMdev] Cross-compiling the ARM toolchain
On 10 September 2010 04:47, Liu <proljc at gmail.com> wrote:
> trying this:
> clang -march=armv7-a -mcpu=cortex-a9 -ccc-host-triple
> arm-none-linux -ccc-gcc-name arm-none-linux-gnueabi-gcc a.c
Hi Liu,
That doesn't work for me.
$ clang -march=armv7-a -mcpu=cortex-a9 -ccc-host-triple arm-none-linux
-ccc-gcc-name arm-none-linux-gnueabi-gcc alias.c
clang: warning: unknown
2012 Jul 18
3
[LLVMdev] Setting up a cross-compiler for cortex-m3
On 18 July 2012 14:57, salvatore benedetto
<salvatore.benedetto at gmail.com> wrote:
> $ clang -march=armv7-m -mfloat-abi=soft -ccc-host-triple
> armv7m-none-gnueabi testReference.cpp -c
> fatal error: error in backend: CPU: 'cortex-m3' does not support ARM
> mode execution!
Ah, yes! Try:
$ clang -ccc-host-triple thumbv7m-none-gnueabi testReference.cpp -c
Cross
2019 Jul 12
2
[cfe-dev] ARM float16 intrinsic test
Hi,
I do not get your result. Do I miss something?
$COMP_ROOT/clang++ --target=arm-arm-eabihf -march=armv8.2a+fp16
arm.cpp -S -o - -O3
.text
.syntax unified
.eabi_attribute 67, "2.09"
.eabi_attribute 6, 14
.eabi_attribute 7, 65
.eabi_attribute 8, 1
.eabi_attribute 9, 2
.fpu crypto-neon-fp-armv8
.eabi_attribute 12, 4
2012 Sep 26
0
[LLVMdev] [Questions] clang cross compilation and SimpleScalar simulation
Dear all
I use arm-linux-gcc 2.95.2, because the code generated by version 3.X and
4.X can not run on SimpleScalar.
So I use the arm-linux-gcc 2.95.2 *only*, the version is recommended by
SimpleScalar.
The code generated by arm-linux-gcc 2.95.2 can run on SimpleScalar.
Now I want to use llvm/clang to generate ARM assembly code and
arm-linux-gcc 2.95.2 to be assembler.
Unfortunately, I got some
2012 Sep 26
1
[LLVMdev] [Questions] clang cross compilation and SimpleScalar simulation
Simplescalar is not compatible with llvm because the binutils simplescalar is based on is ancient.
Jim
On Sep 26, 2012, at 12:21 AM, 陳奕梅 <ymchen at sslab.cs.nctu.edu.tw> wrote:
> Dear all
>
> I use arm-linux-gcc 2.95.2, because the code generated by version 3.X and 4.X can not run on SimpleScalar.
> So I use the arm-linux-gcc 2.95.2 *only*, the version is recommended by
2015 Dec 30
2
Substitute instruction with a jump to a library code
I'm trying to find a way to emulate a floating point instruction, say a
floating point add. My understanding is that in order to do that I need to
execute
setOperationAction(ISD::FADD, (MVT::f32, Expand);
setOperationAction(ISD::FADD, (MVT::f64, Expand);
in MyTargetISelLowering.cpp, MyTargetLowering::MyTargetLowering(...).
However for some reason I'm still seeing a floating point add in
2012 Jul 18
0
[LLVMdev] Setting up a cross-compiler for cortex-m3
On Wed, Jul 18, 2012 at 4:15 PM, Renato Golin <rengolin at systemcall.org> wrote:
> On 18 July 2012 14:57, salvatore benedetto
> <salvatore.benedetto at gmail.com> wrote:
>> $ clang -march=armv7-m -mfloat-abi=soft -ccc-host-triple
>> armv7m-none-gnueabi testReference.cpp -c
>> fatal error: error in backend: CPU: 'cortex-m3' does not support ARM
>>
2012 Sep 24
4
[LLVMdev] [Questions] clang cross compilation and SimpleScalar simulation
Hello,
I want to compile MiBench by clang, and the target-ISA is armv4. The code
generated using llvm-2.9, clang-2.9, and arm-linux-gcc (gcc version
2.95.2), simulator is sim-panalyzer 2.0.3 .
I use these commends:
$ clang -O3 -o hello.ll -c -emit-llvm hello.c
$ llc -O3 -o hello.s -march=arm -mcpu=strongarm1100 hello.ll
$ arm-linux-gcc -O3 -march=armv4 -mcpu=strongarm1100 -static
2012 Jul 18
2
[LLVMdev] Setting up a cross-compiler for cortex-m3
On 18 July 2012 14:33, salvatore benedetto
<salvatore.benedetto at gmail.com> wrote:
> but I still haven't figure out how to build for cortex-m3
>
> clang -march=armv7-m -mfloat-abi=soft <something missing?> testReference.cpp -c
-march should have done the trick.
You can also try -mcpu=cortex-m3,
or try -ccc-host-triple armv7m-none-gnueabi (or -eabi),
and possibly
2015 Nov 19
2
Recent -Os code size regressions
Hello LLVM,
Does the community have bots or humans tracking code size for -Os
builds? I've noticed troubling regressions lately. Sometime near Nov
5, the EEMBC bitmnp01 benchmark grew by 25% for ARMv7m and 35% for
i586. That's ghastly. This week, the EEMBC matrix01 workload grew by
5% for ARMv7m and 3% for i586.
Regards,
-steve
2013 Jul 17
2
[LLVMdev] Help with subtarget features and context-dependent asm parsers
Tim Northover <t.p.northover at gmail.com> writes:
>> /tmp/foo.s:1:2: error: instruction requires: distinct-ops
>> sllk %r2,%r3,1
>> ^
>
> That seems like it would be a good improvement for all targets.
Thanks, sounds like it might be more acceptable than I thought :-)
>> ARM seems to rely on the current MatchOperandParserImpl() behaviour,
2011 May 17
2
[LLVMdev] [Patch] Let MC/ELF generate Thumb/Thumb-2 are properly
> Thanks for the review and checkin.
Thanks for the patch!
> Regarding elf-thumbfunc-reloc.ll, it seems to me that current ARMAsmParser
> doesn't recognize "(PLT)", so something like "bl foo(PLT)" doesn't work
> consequently. And I don't know how to write .s to test this without (PLT).
NP. Can you just add that as a FIXME in elf-thumbfunc-reloc.ll?
2013 Oct 11
3
[LLVMdev] Generate code for ARM Cortex m0, m3, and m4.
Hi,
I am trying to cross compile code for ARM Cortex m0, m3, and m4.
For m0, I use:
-target armv6--eabi -mcpu=cortex-m0
That seems to work. For m3 and m4, I use the following which does not work
(fatal error: error in backend: CPU: 'cortex-m3' does not support ARM mode):
-target armv7m--eabi -mcpu=cortex-m3
and
-target armv7em--eabi -mcpu=cortex-m4
Who can help me with the
2011 May 17
0
[LLVMdev] [Patch] Let MC/ELF generate Thumb/Thumb-2 are properly
On Tue, May 17, 2011 at 12:29 AM, Rafael Avila de Espindola
<rafael.espindola at gmail.com> wrote:
> On 11-05-16 09:21 AM, Koan-Sin Tan wrote:
>>
>> splited patches and test cases
>>
>> mc-elf-thumbfunction-bit.diff: for 1
>> mc-elf-arm-backend-bl-blx-sign-bit.diff: for 2.
>> mc-elf-thumb-bl-blx-relocation-table-entry.diff: for 3.
>>
2015 Nov 21
2
Recent -Os code size regressions
On Thu, Nov 19, 2015 at 1:10 PM, Renato Golin <renato.golin at linaro.org> wrote:
> On 19 November 2015 at 19:08, Steve King via llvm-dev
> <llvm-dev at lists.llvm.org> wrote:
>> Does the community have bots or humans tracking code size for -Os
>> builds?
>
> Hi Steve,
>
> I still haven't got around doing a CI for EEMBC or SPEC on ARM. I do
> track
2012 Jul 18
0
[LLVMdev] Setting up a cross-compiler for cortex-m3
On Wed, Jul 18, 2012 at 3:52 PM, Renato Golin <rengolin at systemcall.org> wrote:
> On 18 July 2012 14:33, salvatore benedetto
> <salvatore.benedetto at gmail.com> wrote:
>> but I still haven't figure out how to build for cortex-m3
>>
>> clang -march=armv7-m -mfloat-abi=soft <something missing?> testReference.cpp -c
>
> -march should have done