search for: retn

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...