Displaying 13 results from an estimated 13 matches for "retn".
Did you mean:
ret
2014 Oct 10
3
[LLVMdev] Stange behavior in fp arithmetics on x86 (bug possibly)
...nstruction (cribbing from the Intel manual):
C3 RET Near return
CB RET Far return
C2 iw RET imm16 Near return + pop imm16 bytes
CA iw RET imm16 Far return + pop imm16 bytes
(And I think that's been true since the 8086.)
Distinguishing between near and far (e.g., ret vs. lret in AT&T or retn vs. retf with some other assemblers) makes sense, but what would a l or q suffix denote?
But more to the point, even if there's a good reason to accept retl/retq as input, is there any reason to emit it ever?
--
Stephen Checkoway
2015 Feb 13
2
[LLVMdev] trunk's optimizer generates slower code than 3.5
...; CODE XREF: _main+16 j
mov eax, ebx
add rsp, 18h
pop rbx
pop r12
pop r13
pop r14
pop r15
pop rbp
retn
_main endp
```
clang 3.6's result:
```
public _main
_main proc near
var_60 = qword ptr -60h
var_58 = qword ptr -58h
var_50 = qword ptr -50h
var_48 = qword ptr -48h
var_40 = qword ptr -40h
var_38 = qword...
2015 Feb 14
2
[LLVMdev] trunk's optimizer generates slower code than 3.5
...eax, ebx
>> add rsp, 18h
>> pop rbx
>> pop r12
>> pop r13
>> pop r14
>> pop r15
>> pop rbp
>> retn
>> _main endp
>> ```
>>
>> clang 3.6's result:
>>
>> ```
>> public _main
>> _main proc near
>>
>> var_60 = qword ptr -60h
>> var_58 = qword ptr -58h
>> var_50 =...
2015 Feb 14
2
[LLVMdev] trunk's optimizer generates slower code than 3.5
...;>>> pop rbx
>>>> pop r12
>>>> pop r13
>>>> pop r14
>>>> pop r15
>>>> pop rbp
>>>> retn
>>>> _main endp
>>>> ```
>>>>
>>>> clang 3.6's result:
>>>>
>>>> ```
>>>> public _main
>>>> _main proc near
>>>>
>>>> var_60 = qwo...
2014 Feb 08
2
[LLVMdev] selecting ISD node - help
...CurDAG->getCopyFromReg(CurDAG->getEntryNode(), dl,
X86::EAX, MVT::i32, rdmsrNode);
return resultNode.getNode();
but I've a couple of problems:
getCopyToReg doesn't show on the final assembly
__Z5test2v proc near
push ebp
mov ebp, esp
rdmsr
pop ebp
retn
__Z5test2v endp
When I add rdmsr + rdmsr, first the rdmsr calls are made and only then he
adds eax, eax.
__Z5test3v proc near
push ebp
mov ebp, esp
rdmsr
rdmsr
add eax, eax
pop ebp
retn
__Z5test3v endp
Maybe it's because I use MF.addLiveIn but when...
2014 Feb 08
2
[LLVMdev] selecting ISD node - help
Hey, I wanted to add an intrinsics to read MSRs.
So I added the intrinsics and lowered it to a new ISD node I created
ISD::RDMSR, its first operand is the MSR id.
I added a case in X86DAGToDAGISel::Select for ISD::RDMSR.
Now I know rdmsr works like so:
mov r/ecx, <id>
rdmsr
r/eax holds the lower 32/64 bit
>From what I understood this needs a Token Factor node, nodes which are
2008 Jan 11
4
GP exception on vmxon
Hello, I tried to write a piece of code to start vmx.
This code is directly interacting with cpu instead of with virtual cpu
as in xen.
But every time I call vmxon, a GP exception happens.
Could anybody help me on this? The following is the context
1. After booting up to the program, I disable A20M.
2. allocate a 4kb-aligned vmxon region and calculate its physical
address.
3. setup
2012 Jul 05
0
[LLVMdev] clang optimizer does not remove unused/uneeded variables(and accesses) from global scope
...byte_402000, al
.text:004012F0 mov dword_402004, eax
.text:004012F5 movzx ecx, al
.text:004012F8 add ecx, eax
.text:004012FA lea eax, [ecx+ecx*2]
.text:004012FD pop ebp
.text:004012FE retn
.text:004012FE sub_4012E0 endp
but why are these two lines not removed by the optimizer?
.text:004012EB mov byte_402000, al
.text:004012F0 mov dword_402004, eax
no access before, no access after - even the main-code itself isn't
using the variabl...
2001 Dec 11
1
VirtualProtect and app crash: exception handling?
...handledExceptionFilter(0075f447) ret=0075f0cb
0806d398:Ret kernel32.SetUnhandledExceptionFilter() retval=00000000
ret=0075f0cb
This function is this:
0075F447 sub_75F447 proc near
0075F447 call sub_75F047
0075F44C xor eax, eax
0075F44E retn 4
0075F44E sub_75F447 endp
eax is set to 0 on exit, which is EXCEPTION_CONTINUE_SEARCH, which means
to proceed with the UnhandledExceptionFilter Windows function, which
should either display an Application Error message, or return to the
application if SetErrorMode says so.
So what'...
2012 Dec 22
1
ElTorito.sys Scanning Strategy
...er's patch for eltorito.sys can be found at the top of
that page, in post #51.
- Shao Miller
--- Comments ---
tinybit (GRUB4DOS developer) typed:
The above code has another issue. Look at this:
SendFound: mov dl, [SpecPkt+2]
clc
ThingDone: pop si
pop ax
retn
It should firstly compare [SpecPkt+2] with DL, if not equal, it
should fail out. At least one BIOS has etdump output as follows:
FF: CF=0 13 00 9F 00 A1 00 00 00 00 00 00 00 00 00 04 00 6D 08 D7
FE: CF=0 13 00 9F 00 A1 00 00 00 00 00 00 00 00 00 04 00 6D 08 D7
..
9F: CF=...
2017 Apr 22
2
LLVM Optimizations strange behavior/bug
...00000040059A mov cs:byte_601069, 56h
.text:00000000004005A1 mov cs:byte_601068, 0ACh
.text:00000000004005A8 mov rax, 0F61EA263E1103088h
.text:00000000004005B2 mov cs:Plaintext, rax
.text:00000000004005B9 retn
.text:00000000004005B9 DecryptBlock(unsigned char *) endp
Any idea if this is a bug or why clang does show this behavior ?
Thanks,
Peter Garba
I've attached the sample code to the mail. Please ignore the comments and the style of the code ;)
________________________________
This message and...
2014 Oct 07
4
[LLVMdev] Stange behavior in fp arithmetics on x86 (bug possibly)
Hello everyone.
I'm not an expert neither in llvm nor in x86 nor in IEEE standard for
floating point numbers, thus any of my following assumptions maybe wrong. If
so, I will be grateful if you clarify me what's goes wrong. But if my
guesses are correct we possibly have a bug in fp arithmetics on x86.
I have the following ir:
@g = constant i64 1
define i32 @main() {
%gval = load
2001 Dec 11
0
VirtualProtect and app crash: what's your interpretation?
...c_75F03C: ; CODE XREF:
sub_75F000+1D^Xj
0075F03C mov dword_75D734, 3
0075F046
0075F046 locret_75F046: ; CODE XREF:
sub_75F000+2E^Xj
0075F046 ; sub_75F000+3A^Xj
0075F046 retn
0075F046 sub_75F000 endp
*(long *)75D738 is the major version of Windows, 4.
*(long *)75D730 is the minor version, 0.
*(long *)75D734 is a "level", 3 for NT/2000/XP, 2 for 95/98/Me, or 1 for
win32s. It contains 3.
Thus, GetVersion is correctly returning NT 4.0.
This was the trac...