Displaying 20 results from an estimated 68 matches for "retl".
Did you mean:
ret
2014 Oct 10
3
[LLVMdev] Stange behavior in fp arithmetics on x86 (bug possibly)
...t.p.northover at gmail.com> wrote:
> Hi Dmitry,
>
> On 7 October 2014 10:50, Dmitry Borisenkov <d.borisenkov at samsung.com> wrote:
>> fpfail.s:26: Error: invalid instruction suffix for `ret'
>>
>> I downloaded Intel manual and haven’t found any mention of retl instruction,
>
> "retl" is the AT&T syntax for the normal "ret" instruction in the
> Intel manual, which makes it mostly undocumented.
Are you sure about that? I don't recall ever seeing retl before. A while back a reference for AT&T was mentioned and, as...
2014 Oct 07
4
[LLVMdev] Stange behavior in fp arithmetics on x86 (bug possibly)
...h %st(1)
fucompp
fnstsw %ax
# kill: AX<def> AX<kill> EAX<def>
# kill: AH<def> AH<kill> EAX<kill>
sahf
sete %al
movzbl %al, %eax
retl
.Ltmp0:
.size main, .Ltmp0-main
.cfi_endproc
.type g, at object # @g
.section .rodata,"a", at progbits
.globl g
.align 8
g:
.quad 1 # 0x1
.size g, 8
.section "...
2014 Sep 05
3
[LLVMdev] Please benchmark new x86 vector shuffle lowering, planning to make it the default very soon!
On Fri, Sep 5, 2014 at 9:32 AM, Robert Lougher <rob.lougher at gmail.com>
wrote:
> Unfortunately, another team, while doing internal testing has seen the
> new path generating illegal insertps masks. A sample here:
>
> vinsertps $256, %xmm0, %xmm13, %xmm4 # xmm4 = xmm0[0],xmm13[1,2,3]
> vinsertps $256, %xmm1, %xmm0, %xmm6 # xmm6 = xmm1[0],xmm0[1,2,3]
>
2014 Sep 05
2
[LLVMdev] Please benchmark new x86 vector shuffle lowering, planning to make it the default very soon!
...-
>
> test: # @test
> vxorps %xmm2, %xmm2, %xmm2
> vmovss %xmm0, %xmm2, %xmm2
> vblendps $4, %xmm0, %xmm2, %xmm0 # xmm0 = xmm2[0,1],xmm0[2],xmm2[3]
> vinsertps $48, %xmm1, %xmm0, %xmm0 # xmm0 = xmm0[0,1,2],xmm1[0]
> retl
>
> test2: # @test2
> vinsertps $48, %xmm1, %xmm0, %xmm0 # xmm0 = xmm0[0,1,2],xmm1[0]
> vxorps %xmm1, %xmm1, %xmm1
> vblendps $13, %xmm0, %xmm1, %xmm0 # xmm0 = xmm0[0],xmm1[1],xmm0[2,3]
> retl
>
> llc -march=x86-64 -mat...
2014 Sep 06
2
[LLVMdev] Please benchmark new x86 vector shuffle lowering, planning to make it the default very soon!
...# @test
>> vxorps %xmm2, %xmm2, %xmm2
>> vmovss %xmm0, %xmm2, %xmm2
>> vblendps $4, %xmm0, %xmm2, %xmm0 # xmm0 = xmm2[0,1],xmm0[2],xmm2[3]
>> vinsertps $48, %xmm1, %xmm0, %xmm0 # xmm0 = xmm0[0,1,2],xmm1[0]
>> retl
>>
>> test2: # @test2
>> vinsertps $48, %xmm1, %xmm0, %xmm0 # xmm0 = xmm0[0,1,2],xmm1[0]
>> vxorps %xmm1, %xmm1, %xmm1
>> vblendps $13, %xmm0, %xmm1, %xmm0 # xmm0 = xmm0[0],xmm1[1],xmm0[2,3]
>> retl
>>
&...
2016 Apr 04
2
How to call an (x86) cleanup/catchpad funclet
...but the only thing
I can't figure out is how to call these funclets, they look like:
Catch:
"?catch$3@?0?m3 at 4HA":
LBB4_3: # %BasicBlock26
pushl %ebp
pushl %eax
addl $12, %ebp
movl %esp, -28(%ebp)
movl $LBB4_5, %eax
addl $4, %esp
popl %ebp
retl # CATCHRET
cleanup:
"?dtor$2@?0?m2 at 4HA":
LBB3_2:
pushl %ebp
subl $8, %esp
addl $12, %ebp
movl %ebp, %eax
movl %esp, %ecx
movl %eax, 4(%ecx)
movl $1, (%ecx)
calll m2$Fin
addl $8, %esp
popl %ebp
retl # CLEANUPRET
What d...
2006 Jun 26
0
[klibc 36/43] sparc64 support for klibc
...4]:
+ * they return the two file descriptors in %o0 and %o1.
+ */
+
+#include <asm/unistd.h>
+
+ .globl pipe
+ .type pipe,#function
+ .align 4
+pipe:
+ mov __NR_pipe, %g1
+ or %o0, 0, %g4
+ t 0x6d
+ bcc %xcc, 1f
+ nop
+ sethi %hi(errno), %g4
+ or %g4, %lo(errno), %g4
+ st %o0,[%g4]
+ retl
+ mov -1, %o0
+1:
+ st %o0,[%g4]
+ st %o1,[%g4+4]
+ retl
+ mov 0, %o0
+
+ .size pipe,.-pipe
diff --git a/usr/klibc/arch/sparc64/setjmp.S b/usr/klibc/arch/sparc64/setjmp.S
new file mode 100644
index 0000000..75a6a68
--- /dev/null
+++ b/usr/klibc/arch/sparc64/setjmp.S
@@ -0,0 +1,55 @@
+!
+! setjm...
2014 Sep 08
2
[LLVMdev] Please benchmark new x86 vector shuffle lowering, planning to make it the default very soon!
...# @test
>>> vxorps %xmm2, %xmm2, %xmm2
>>> vmovss %xmm0, %xmm2, %xmm2
>>> vblendps $4, %xmm0, %xmm2, %xmm0 # xmm0 = xmm2[0,1],xmm0[2],xmm2[3]
>>> vinsertps $48, %xmm1, %xmm0, %xmm0 # xmm0 = xmm0[0,1,2],xmm1[0]
>>> retl
>>>
>>> test2: # @test2
>>> vinsertps $48, %xmm1, %xmm0, %xmm0 # xmm0 = xmm0[0,1,2],xmm1[0]
>>> vxorps %xmm1, %xmm1, %xmm1
>>> vblendps $13, %xmm0, %xmm1, %xmm0 # xmm0 = xmm0[0],xmm1[1],xmm0[2,3]
>&g...
2014 Jan 14
2
[LLVMdev] 16-bit x86 status update
...option to clang.
The main caveats to bear in mind for 16-bit code which was previously
built with gcc/gas are:
• We do not support the explicit 'data32' and 'addr32' prefixes in asm.
The data32 prefix is almost never needed. If you use the correct
suffix on an instruction (retl vs. retw, for example), then you
should never need to use 'data32'.
The addr32 prefix *is* needed by GNU binutils, because *even* when
given an explicit address which is greater than 64KiB, it'll just
give you a warning about truncation, and emit the instruction with
a 1...
2017 Dec 30
0
[PATCH] Fix sparc assembly when compiled as PIC
...file descriptors in %o0 and %o1.
*/
+#include <machine/asm.h>
#include <asm/unistd.h>
.globl pipe
@@ -15,9 +16,8 @@ pipe:
or %o0, 0, %g4
t 0x10
bcc 1f
- nop
- sethi %hi(errno), %g4
- or %g4, %lo(errno), %g4
+ PIC_PROLOGUE(%g1,%g4)
+ SET(errno,%g1,%g4)
st %o0,[%g4]
retl
mov -1, %o0
diff --git a/usr/klibc/arch/sparc/syscall.S b/usr/klibc/arch/sparc/syscall.S
index c0273f77..52a8583b 100644
--- a/usr/klibc/arch/sparc/syscall.S
+++ b/usr/klibc/arch/sparc/syscall.S
@@ -4,14 +4,16 @@
* Common system-call stub; %g1 already set to syscall number
*/
+#include &l...
2019 Aug 08
2
Suboptimal code generated by clang+llc in quite a common scenario (?)
...ebp, -8
movl %esp, %ebp
.cfi_def_cfa_register %ebp
pushl %esi
.cfi_offset %esi, -12
movb 16(%ebp), %al
movb 12(%ebp), %cl
movb 8(%ebp), %dl
movl _scscx, %esi
movb %dl, (%esi)
movl _scscx, %edx
movb %cl, 1(%edx)
movl _scscx, %ecx
movb %al, 2(%ecx)
xorl %eax, %eax
popl %esi
popl %ebp
retl
.cfi_endproc
.comm _pp,3,0
.section __DATA,__data
.globl _scscx
.p2align 3
_scscx:
.long _pp
Again, the _scscx is loaded three times instead of reusing a register, which is suboptimal.
NOW, if I replace the original code by this:
int pp[3];
int *scscx = pp;
int tst( int i, int j, int k...
2014 Aug 08
4
[LLVMdev] Efficient Pattern matching in Instruction Combine
...# @main
# BB#0:
subl $28, %esp
leal 20(%esp), %eax
movl %eax, 8(%esp)
leal 24(%esp), %eax
movl %eax, 4(%esp)
movl $.L.str, (%esp)
calll __isoc99_scanf
movl 20(%esp), %eax
* orl 24(%esp), %eax*
addl $28, %esp
retl
As seen, optimization happened at IR level itself reflected in .s file.
*GCC output for the same:*
suyog at suyog-Inspiron-N5010:~$ gcc -S -O2 1.c
main:
.LFB23:
.cfi_startproc
pushl %ebp
.cfi_def_cfa_offset 8
.cfi_offset 5, -8
movl %esp, %ebp
.cfi_def_cfa_register...
2019 Jan 18
0
[klibc:master] Fix sparc assembly when compiled as PIC
...hey return the two file descriptors in %o0 and %o1.
*/
+#include <machine/asm.h>
#include <asm/unistd.h>
.globl pipe
@@ -16,8 +17,8 @@ pipe:
t 0x10
bcc 1f
nop
- sethi %hi(errno), %g4
- or %g4, %lo(errno), %g4
+ PIC_PROLOGUE(%g1,%g4)
+ SET(errno,%g1,%g4)
st %o0,[%g4]
retl
mov -1, %o0
diff --git a/usr/klibc/arch/sparc/syscall.S b/usr/klibc/arch/sparc/syscall.S
index c0273f7..52a8583 100644
--- a/usr/klibc/arch/sparc/syscall.S
+++ b/usr/klibc/arch/sparc/syscall.S
@@ -4,14 +4,16 @@
* Common system-call stub; %g1 already set to syscall number
*/
+#include <...
2019 Sep 28
3
lld-link with MSVC6 object files
...file format COFF-i386
Disassembly of section .text:
0000000000000000 _main:
0: 68 00 00 00 00 pushl $0
5: e8 00 00 00 00 calll 0 <_main+0xa>
a: 83 c4 04 addl $4, %esp
d: 33 c0 xorl %eax, %eax
f: c3 retl
Thanks,
Paul
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20190928/0cdd87a2/attachment.html>
2009 Aug 19
2
[LLVMdev] Solaris (sparc) llc bugs
...at trillian:~$ cat ./test.s
.text
.align 16
.globl main
.type main, #function
main:
save %o6, -96, %o6
sethi %hi(.str), %l0
add %l0, %lo(.str), %o0
call puts
nop
sethi 0, %i0
restore %g0, %g0, %g0
retl
nop
.section .rodata.str1.1,"aMS", at progbits,1
.align 2
.type .str,#object
.size .str,15
.str:
.asciz "this is a test"
sakharov at trillian:~$ /opt/SUNWspro/bin/cc test.s -o test
/opt/SUNWspro/prod/bin/fbe: "tes...
2018 Aug 06
4
[Release-testers] [7.0.0 Release] rc1 has been tagged
On Sun, Aug 5, 2018 at 5:49 PM, Dimitry Andric <dimitry at andric.com> wrote:
> On 3 Aug 2018, at 13:37, Hans Wennborg via Release-testers <release-testers at lists.llvm.org> wrote:
>>
>> 7.0.0-rc1 was just tagged (from the branch at r338847).
>>
>> It's early in the release process, but I'd like to find out what the
>> status is of the branch
2018 Sep 14
6
Function calls keep increasing the stack usage
..._bar:
subl $32, %esp
movl $1, %eax
movl $2, %ecx
movl $1, (%esp)
movl $2, 4(%esp)
movl %eax, 28(%esp)
movl %ecx, 24(%esp)
calll _foo
movl $3, %ecx
movl $4, %edx
movl $3, (%esp)
movl $4, 4(%esp)
movl %eax, 20(%esp)
movl %ecx, 16(%esp)
movl %edx, 12(%esp)
calll _foo
movl %eax, 8(%esp)
addl $32, %esp
retl
Note how the constants are stored in registers but when saving the
parameters on the stack for the call the immediate values are used. The
registers are still stored on the stack probably because it's the caller's
responsibility once they were used (which seems expected).
I think the probl...
2018 Sep 14
2
Function calls keep increasing the stack usage
...%ecx, 24(%esp)
>> calll _foo
>> movl $3, %ecx
>> movl $4, %edx
>> movl $3, (%esp)
>> movl $4, 4(%esp)
>> movl %eax, 20(%esp)
>> movl %ecx, 16(%esp)
>> movl %edx, 12(%esp)
>> calll _foo
>> movl %eax, 8(%esp)
>> addl $32, %esp
>> retl
>>
>> Note how the constants are stored in registers but when saving the
>> parameters on the stack for the call the immediate values are used. The
>> registers are still stored on the stack probably because it's the caller's
>> responsibility once they were us...
2017 Dec 30
6
building debug version of klibc
Hello!
Can someone please help me in building debug version of klibc ?
I've cloned git://git.kernel.org/pub/scm/libs/klibc/klibc.git , but
failed to build it with debug info
added "-g" to HOSTCFLAGS in Makefile, but
$ make -j KLIBCKERNELSRC=`pwd`/../linux-2.6/usr
still strips every debug symbol , and i'm failed to change
scripts/Kbuild.klibc and Makefile to remove strip
2014 Aug 13
2
[LLVMdev] Efficient Pattern matching in Instruction Combine
...24(%esp), %eax
>>>> movl %eax, 4(%esp)
>>>> movl $.L.str, (%esp)
>>>> calll __isoc99_scanf
>>>> movl 20(%esp), %eax
>>>> * orl 24(%esp), %eax*
>>>> addl $28, %esp
>>>> retl
>>>>
>>>> As seen, optimization happened at IR level itself reflected in .s file.
>>>>
>>>> *GCC output for the same:*
>>>>
>>>> suyog at suyog-Inspiron-N5010:~$ gcc -S -O2 1.c
>>>>
>>>> main:
>>&g...