search for: mflr

Displaying 20 results from an estimated 26 matches for "mflr".

Did you mean: flr
2004 May 09
0
[LLVMdev] Testing LLVM on OS X
...t; Yup, this is EXACTLY what is going on. > > I took this very simple C function: > > int Array[1000]; > void test(int X) { > int i; > for (i = 0; i < 1000; ++i) > Array[i] += X; > } > > Compile with -O3 on OS/X gave me this: > > _test: > mflr r5 > bcl 20,31,"L00000000001$pb" > "L00000000001$pb": > mflr r2 > mtlr r5 > addis r4,r2,ha16(L_Array$non_lazy_ptr-"L00000000001$pb") > li r2,0 > lwz r9,lo16(L_Array$non_lazy_ptr-"L00000000001$pb&...
2012 May 02
4
[LLVMdev] [cfe-dev] Odd PPC inline asm constraint
...(ie, it was able to call into libc.so just fine), as well as an old C version of the SPEC97 tomcatv benchmark I have laying around. So it seems both 32-bit and 64-bit can call into shared libs. Not to say I haven't seen some code gen warts (using -O3). :) >From hello.s: main: mflr 0 stw 31, -4(1) stw 0, 4(1) stwu 1, -16(1) lis 3, .Lstr at ha mr 31, 1 la 3, .Lstr at l(3) bl puts li 3, 0 addi 1, 1, 16 lwz 0, 4(1) lwz 31, -4(1) mtlr 0 blr By the strict letter of the 32-bit...
2004 May 04
0
[LLVMdev] Testing LLVM on OS X
On Tue, 4 May 2004, Patrick Flanagan wrote: > I was able to run through all the C/C++ benchmarks in SPEC using LLVM. > I'm on OS X 10.3.3. I did a quick comparison between LLVM (latest from > CVS as of 4/27) and gcc 3.3 (Apple's build 20030304). For simplicity's > sake, the only flag I used was -O3 for each compiler and I was using > the C backend to generate native
2004 May 04
2
[LLVMdev] Testing LLVM on OS X
I was able to run through all the C/C++ benchmarks in SPEC using LLVM. I'm on OS X 10.3.3. I did a quick comparison between LLVM (latest from CVS as of 4/27) and gcc 3.3 (Apple's build 20030304). For simplicity's sake, the only flag I used was -O3 for each compiler and I was using the C backend to generate native code for PPC. Most of the LLVM results were close to gcc
2012 Jul 19
2
[LLVMdev] Help with PPC64 JIT
...loaded correctly in 'JIT::runFunction', instead of assuming the JIT function code is an ODP. Now I'm trying to make the relocation work properly. Using the testcase '2003-01-04-ArgumentBug' the assembly generated for main functions is the following: .L.main: # BB#0: mflr 0 std 0, 16(1) stdu 1, -112(1) lis 3, .LCPI1_0 at ha li 4, 1 lfs 1, .LCPI1_0 at l(3) li 3, 0 bl foo nop addi 1, 1, 112 ld 0, 16(1) mtlr 0 blr Which is correct, however for the JIT one generated in m...
2012 May 02
0
[LLVMdev] [cfe-dev] Odd PPC inline asm constraint
On Tue, 2012-05-01 at 17:47 -0500, Hal Finkel wrote: > By default it should build for > whatever the current host is (no special flags required). To > specifically build for something else, use: > -ccc-host-triple powerpc64-unknown-linux-gnu > or > -ccc-host-triple powerpc-unknown-linux-gnu So LLVM isn't biarch capable? Meaning one LLVM compiler cannot generate both
2004 May 04
6
[LLVMdev] Testing LLVM on OS X
...at GCC is doing a very good job (ie, without > syntactic loops). Yup, this is EXACTLY what is going on. I took this very simple C function: int Array[1000]; void test(int X) { int i; for (i = 0; i < 1000; ++i) Array[i] += X; } Compile with -O3 on OS/X gave me this: _test: mflr r5 bcl 20,31,"L00000000001$pb" "L00000000001$pb": mflr r2 mtlr r5 addis r4,r2,ha16(L_Array$non_lazy_ptr-"L00000000001$pb") li r2,0 lwz r9,lo16(L_Array$non_lazy_ptr-"L00000000001$pb")(r4) li r4,1000...
2012 May 12
0
[LLVMdev] [cfe-dev] Odd PPC inline asm constraint
...st fine), as well as an > old C version of the SPEC97 tomcatv benchmark I have laying around. > So it seems both 32-bit and 64-bit can call into shared libs. > > Not to say I haven't seen some code gen warts (using -O3). :) > > From hello.s: > > main: > mflr 0 > stw 31, -4(1) > stw 0, 4(1) > stwu 1, -16(1) > lis 3, .Lstr at ha > mr 31, 1 > la 3, .Lstr at l(3) > bl puts > li 3, 0 > addi 1, 1, 16 > lwz 0, 4(1) > lwz 31, -4(1) >...
2012 Jul 20
0
[LLVMdev] Help with PPC64 JIT
...ction', instead of assuming the JIT function code is > an ODP. > > Now I'm trying to make the relocation work properly. Using the testcase '2003-01-04-ArgumentBug' > the assembly generated for main functions is the following: > > .L.main: > # BB#0: > mflr 0 > std 0, 16(1) > stdu 1, -112(1) > lis 3, .LCPI1_0 at ha > li 4, 1 > lfs 1, .LCPI1_0 at l(3) > li 3, 0 > bl foo > nop > addi 1, 1, 112 > ld 0, 16(1) > mtlr 0 >...
2004 Sep 14
1
Re: got pointer wrong in shared klibc binary
...klibc-0.173/klibc/arch/ppc64/setjmp.S klibc/klibc/arch/ppc64/setjmp.S --- klibc-0.173/klibc/arch/ppc64/setjmp.S 2003-12-13 14:09:13.000000000 +1030 +++ klibc/klibc/arch/ppc64/setjmp.S 2004-09-15 12:28:42.160328339 +0930 @@ -17,13 +16,33 @@ setjmp: .globl setjmp .globl .setjmp .setjmp: - mflr %r11 /* save return address */ - mfcr %r12 /* save condition register */ - mr %r10,%r1 /* save stack pointer */ - mr %r9,%r2 /* save GPR2 (not needed) */ - stmw %r9,0(%r3)...
2012 May 01
4
[LLVMdev] [cfe-dev] Odd PPC inline asm constraint
On Tue, 01 May 2012 17:23:07 -0500 Peter Bergner <bergner at vnet.ibm.com> wrote: > On Tue, 2012-05-01 at 16:06 -0500, Hal Finkel wrote: > > LLVM/clang now will build in the normal way (./configure; make > > install) on PPC (you'll need at least the 3.1 release candidate (or > > trunk)). I generally build on my PPC64 hosts with: > > make ENABLE_OPTIMIZED=1
2012 Sep 20
2
[LLVMdev] Scheduling question (memory dependency)
...n 2 ... --------------------------------------------------------------- The code works OK at -O0. At -O1, the first part of the generated code is: --------------------------------------------------------------- .L._Z5check3foos: .cfi_startproc # BB#0: # %entry mflr 0 std 0, 16(1) stdu 1, -112(1) .Ltmp1: .cfi_def_cfa_offset 112 .Ltmp2: .cfi_offset lr, 16 lha 5, 162(1) sth 3, 162(1) ... --------------------------------------------------------------- The problem here is that the incoming parameter in register 3 is stored too late, after an attempt...
2011 Sep 17
0
[LLVMdev] Problem with Linux PPC64 assembly output.
The latest binutils (2.21.2) assembler for the PPC64 complains about the .size directive emitted by LLVM as not containing an absolute expression. An example: __umodsi3: .quad .L.__umodsi3,.TOC. at tocbase .previous .L.__umodsi3: mflr 0 [snip] mtlr 0 blr .Ltmp0: .size __umodsi3, .Ltmp0-__umodsi3 The correct size expression should be .Ltmp0-.L.__umodsi3 The code which does this is in AsmPrinter.cpp: // If the target wants a .size directive for the size of the function, emit // it. if (MAI->h...
2012 Sep 21
0
[LLVMdev] Scheduling question (memory dependency)
...---------------------------- > > The code works OK at -O0. At -O1, the first part of the generated code > is: > > --------------------------------------------------------------- > .L._Z5check3foos: > .cfi_startproc > # BB#0: # %entry > mflr 0 > std 0, 16(1) > stdu 1, -112(1) > .Ltmp1: > .cfi_def_cfa_offset 112 > .Ltmp2: > .cfi_offset lr, 16 > lha 5, 162(1) > sth 3, 162(1) > ... > --------------------------------------------------------------- > > The problem here is that the incoming...
2012 Sep 21
2
[LLVMdev] Scheduling question (memory dependency)
...code works OK at -O0. At -O1, the first part of the generated > > code > > is: > > > > --------------------------------------------------------------- > > .L._Z5check3foos: > > .cfi_startproc > > # BB#0: # %entry > > mflr 0 > > std 0, 16(1) > > stdu 1, -112(1) > > .Ltmp1: > > .cfi_def_cfa_offset 112 > > .Ltmp2: > > .cfi_offset lr, 16 > > lha 5, 162(1) > > sth 3, 162(1) > > ... > > ---------------------------------------------------------------...
2012 Sep 21
2
[LLVMdev] Scheduling question (memory dependency)
...t; code > > > > is: > > > > > > > > --------------------------------------------------------------- > > > > .L._Z5check3foos: > > > > .cfi_startproc > > > > # BB#0: # %entry > > > > mflr 0 > > > > std 0, 16(1) > > > > stdu 1, -112(1) > > > > .Ltmp1: > > > > .cfi_def_cfa_offset 112 > > > > .Ltmp2: > > > > .cfi_offset lr, 16 > > > > lha 5, 162(1) > > > > sth 3, 162(1) > > >...
2012 Sep 21
0
[LLVMdev] Scheduling question (memory dependency)
...part of the generated > > > code > > > is: > > > > > > --------------------------------------------------------------- > > > .L._Z5check3foos: > > > .cfi_startproc > > > # BB#0: # %entry > > > mflr 0 > > > std 0, 16(1) > > > stdu 1, -112(1) > > > .Ltmp1: > > > .cfi_def_cfa_offset 112 > > > .Ltmp2: > > > .cfi_offset lr, 16 > > > lha 5, 162(1) > > > sth 3, 162(1) > > > ... > > > -------------...
2003 Dec 12
2
[PATCH] ppc64 support
...ongjmp implementation +# This file was derived from the equivalent file in NetBSD +# + + .text + .align 4 + + .section ".opd","aw" +setjmp: + .quad .setjmp,.TOC.@tocbase,0 + .previous + .size setjmp,24 + .type .setjmp,@function + .globl setjmp + .globl .setjmp +.setjmp: + mflr %r11 /* save return address */ + mfcr %r12 /* save condition register */ + mr %r10,%r1 /* save stack pointer */ + mr %r9,%r2 /* save GPR2 (not needed) */ + stmw %r9,0(%r3)...
2012 Sep 21
0
[LLVMdev] Scheduling question (memory dependency)
...: > > > > > > > > > > --------------------------------------------------------------- > > > > > .L._Z5check3foos: > > > > > .cfi_startproc > > > > > # BB#0: # %entry > > > > > mflr 0 > > > > > std 0, 16(1) > > > > > stdu 1, -112(1) > > > > > .Ltmp1: > > > > > .cfi_def_cfa_offset 112 > > > > > .Ltmp2: > > > > > .cfi_offset lr, 16 > > > > > lha 5, 162(1) > > >...
2013 Dec 03
0
[klibc:master] ppc64: Add ppc64le support
...LF == 2 + .type setjmp, at function +setjmp: +#else .section ".opd","aw" + .balign 8 setjmp: - .quad .setjmp,.TOC. at tocbase,0 + .quad .setjmp, .TOC. at tocbase, 0 .previous - .size setjmp,24 .type .setjmp, at function - .globl setjmp .globl .setjmp .setjmp: +#endif mflr %r11 /* save return address */ mfcr %r12 /* save condition register */ std %r2,0(%r3) /* save TOC pointer (not needed) */ @@ -43,17 +47,28 @@ setjmp: std %r31,8(%r3) li %r3,0 /* indicate success */ blr /* return */ +#if _CALL_ELF == 2 + .size setjmp,.-setjmp +#else + .size setjm...