search for: movzx

Displaying 20 results from an estimated 30 matches for "movzx".

2014 Jan 02
4
EFI build problems
On 01/02/2014 04:09 AM, Ferenc Wagner wrote: > > Issuing another make after this gave the previous error again: > > isolinux.asm:1102: error: TIMES value -4 is negative > I just fixed this one... it seems to be a consequence of merging in the MOVZX isolinux fix into the firmware branch. -hpa
2014 Jan 03
1
EFI build problems
...erenc Wagner wrote: >>> >>> Issuing another make after this gave the previous error again: >>> >>> isolinux.asm:1102: error: TIMES value -4 is negative >>> >> >> I just fixed this one... it seems to be a consequence of merging in the >> MOVZX isolinux fix into the firmware branch. >> >> -hpa >> > > Although the current error report was originated by an EFI (6.xx) > build, the "same" (equivalent) prior MOVZX isolinux fix was > previously also applied to the elflink and master (4.xx) branches....
2019 Mar 04
2
Where's the optimiser gone (part 11): use the proper instruction for sign extension
...[esp + 8] | mov eax, dword ptr [esp + 8] cmp ecx, dword ptr [esp + 4] | cmp edx, dword ptr [esp + 4] sbb ecx, eax | sbb edx, eax setl cl | cdq sar eax, 31 | setl al movzx ecx, cl | movzx eax, al add eax, ecx | add eax, edx mov edx, eax | ret sar edx, 31 ret NOTE: not just here this sequence SHOULD be replaced with mov edx, eax | cdq...
2018 Nov 20
2
A pattern for portable __builtin_add_overflow()
...amp; !check) | (!cond & check); } Assembly: saddo_native: # @saddo_native xor eax, eax add edi, esi seto al mov dword ptr [rdx], edi ret saddo_portable: # @saddo_portable lea eax, [rsi + rdi] mov dword ptr [rdx], eax cmp eax, esi setle al setg cl test edi, edi jg .LBB3_2 mov eax, ecx .LBB3_2: movzx eax, al ret saddo_portable2: # @saddo_portable2 lea eax, [rsi + rdi] mov dword ptr [rdx], eax test edi, edi setg cl cmp eax, esi setg al xor al, cl movzx eax, al ret Do you know the trick to force the compiler to use the seto instruction? I also noticed that the transformation for uaddo_portable...
2007 Aug 28
2
memdisk patch
...ux/memdisk is great, thanks Peter et. al.! -- Duane Voth duanev at io.com -------------- next part -------------- --- memdisk.asm.orig 2007-08-20 13:02:26.000000000 -0500 +++ memdisk.asm 2007-08-20 17:31:17.000000000 -0500 @@ -462,10 +462,10 @@ cmp dword [es:si+4],-1 je .linear_address - movzx esi,word [es:si+4] ; Offset + movzx ebx,word [es:si+4] ; Offset movzx edi,word [es:si+6] ; Segment shl edi,4 - add esi,edi + add ebx,edi jmp .got_address @@ -476,23 +476,24 @@ cmp dword [es:si+20],0 ; > 4 GB addresses not supported jne .overrun - mov esi,[es:si+16] + m...
2018 Nov 06
4
Rather poor code optimisation of current clang/LLVM targeting Intel x86 (both -64 and -32)
...2) crc32be: # @crc32be xor eax, eax test esi, esi jne .LBB0_2 jmp .LBB0_5 .LBB0_4: # in Loop: Header=BB0_2 Depth=1 add rdi, 1 test esi, esi je .LBB0_5 .LBB0_2: # =>This Loop Header: Depth=1 add esi, -1 movzx edx, byte ptr [rdi] shl edx, 24 xor edx, eax mov ecx, -8 mov eax, edx .LBB0_3: # Parent Loop BB0_2 Depth=1 | # 4 instructions instead of 6, r8 not clobbered! lea r8d, [rax + rax] | add eax, eax mov edx, r8d...
2011 Mar 19
2
[LLVMdev] Apparent optimizer bug on X86_64
...uce -- Do a reduction. | 1302 `-----------------------------*/ 1303 yyreduce: 1304 /* yyn is the number of a rule to reduce with. */ 1305 yylen = yyr2[yyn]; 0x0000000000400c14 <rpcalc_parse+628>: mov r15d,r14d 0x0000000000400c17 <rpcalc_parse+631>: movzx r12d,BYTE PTR [r15+0x4015e2] 0x0000000000400c1f <rpcalc_parse+639>: mov eax,0x1 0x0000000000400c24 <rpcalc_parse+644>: mov r13,rax 0x0000000000400c27 <rpcalc_parse+647>: sub r13,r12 0x0000000000400c2a <rpcalc_parse+650>: mov e...
2001 Dec 11
0
VirtualProtect and app crash: what's your interpretation?
...push esi 00760D5A push edi 00760D5B push eax 00760D5C push 75D5F0h 00760D61 call sub_75FC7B 00760D66 add esp, 8 00760D69 mov ds:dword_75D720, eax 00760D6E movzx ecx, ds:word_75D5F2 00760D75 cmp ecx, eax 00760D77 jbe loc_760EFC 00760D7D mov ecx, ds:dword_75D704 00760D83 imul eax, 28h 00760D86 mov eax, [eax+ecx+34h] 00760D8A sub eax, [ebp-...
2018 Nov 27
2
Rather poor code optimisation of current clang/LLVM targeting Intel x86 (both -64 and -32)
...jne .LBB0_2 >> jmp .LBB0_5 >> .LBB0_4: # in Loop: Header=BB0_2 Depth=1 >> add rdi, 1 >> test esi, esi >> je .LBB0_5 >> .LBB0_2: # =>This Loop Header: Depth=1 >> add esi, -1 >> movzx edx, byte ptr [rdi] >> shl edx, 24 >> xor edx, eax >> mov ecx, -8 >> mov eax, edx >> .LBB0_3: # Parent Loop BB0_2 Depth=1 | # 4 instructions instead of 6, r8 >> not clobbered! >> lea r8d, [rax + rax]...
2013 Nov 26
3
Sysinux 6 will not boot ISOs on BIOS (i.e. pre-UEFI) systems
Hi, hpa wrote: > - mov dx,cx > + movzx edx,cx Gerardo Exequiel Pozzi: > Yes! Fixed :) > (maybe garbage in high word of "edx"?) I am now pondering too, why my machine booted from high LBAs. I understand that the new code zeros the upper 16 bit of EDX. Was there remaining garbage from early BIOS activity before isolinux....
2014 Jan 03
0
EFI build problems
...01/02/2014 04:09 AM, Ferenc Wagner wrote: > > > > Issuing another make after this gave the previous error again: > > > > isolinux.asm:1102: error: TIMES value -4 is negative > > > > I just fixed this one... it seems to be a consequence of merging in the > MOVZX isolinux fix into the firmware branch. > > -hpa > Although the current error report was originated by an EFI (6.xx) build, the "same" (equivalent) prior MOVZX isolinux fix was previously also applied to the elflink and master (4.xx) branches. I'd like to request the a...
2014 Jan 03
1
EFI build problems, fixed in which git repo
...erenc Wagner wrote: >>> >>> Issuing another make after this gave the previous error again: >>> >>> isolinux.asm:1102: error: TIMES value -4 is negative >>> >> >> I just fixed this one... it seems to be a consequence of merging in the >> MOVZX isolinux fix into the firmware branch. > > And where is the fixed published? > > Over here I did do a `git pull`, but that told me "Already up-to-date." > > From another thread on this mailinglist I did understood that > there is some delay in synchronisation of g...
2009 Apr 27
3
Question about vk_check and rllunpack
...pack bytes from SI into EDI ; On return (E)SI, EDI are updated and ; (E)CX contains number of bytes output. ; rllunpack: push word .pmentry call simple_pm_call ret bits 32 .pmentry: push edi movzx esi,si xor ecx,ecx It looks to me like rllunpack does trash esi value (upper part), the check at vk_check.scan succeeds and we jump to vk_check.not_vk. In my test i got esi before rllunpack (0x3fece980) and after it's 0x0000e97f. Am i missing something? - Sebastian
2011 Mar 19
0
[LLVMdev] Apparent optimizer bug on X86_64
...t; 1302    `-----------------------------*/ > 1303    yyreduce: > 1304      /* yyn is the number of a rule to reduce with.  */ > 1305      yylen = yyr2[yyn]; >   0x0000000000400c14 <rpcalc_parse+628>:       mov    r15d,r14d >   0x0000000000400c17 <rpcalc_parse+631>:       movzx  r12d,BYTE PTR > [r15+0x4015e2] >   0x0000000000400c1f <rpcalc_parse+639>:       mov    eax,0x1 >   0x0000000000400c24 <rpcalc_parse+644>:       mov    r13,rax >   0x0000000000400c27 <rpcalc_parse+647>:       sub    r13,r12 >   0x0000000000400c2a <rpcalc_parse+65...
2008 Nov 22
5
[RFC][PATCH] Gfxboot COMBOOT module
...3 + int 22h +exit: + call far [gfx_bc_done] +error: + ret + +cb_table dw cb_status ; 0 + dw cb_fopen ; 1 + dw cb_fread ; 2 + dw cb_getcwd ; 3 + dw cb_chdir ; 4 + dw cb_readsector ; 5 +cb_len equ ($-cb_table)/2 + +gfx_cb: + push cs + pop ds + + cmp al,cb_len + jae gfx_cb_error + + movzx bx,al + add bx,bx + call word [bx+cb_table] + jmp gfx_cb_end +gfx_cb_error: + mov al,0ffh +gfx_cb_end: + retf + +; Return status info +; +; return: +; edx filename buffer (64 bytes) +; +cb_status: + mov edx,cs + shl edx,4 + add edx,fname_buf + + xor al,al + ret + +; Open file +; +; retu...
2009 Apr 05
3
[PATCH] Gfxboot COMBOOT module
...3 + int 22h +exit: + call far [gfx_bc_done] +error: + ret + +cb_table dw cb_status ; 0 + dw cb_fopen ; 1 + dw cb_fread ; 2 + dw cb_getcwd ; 3 + dw cb_chdir ; 4 + dw cb_readsector ; 5 +cb_len equ ($-cb_table)/2 + +gfx_cb: + push cs + pop ds + + cmp al,cb_len + jae gfx_cb_error + + movzx bx,al + add bx,bx + call word [bx+cb_table] + jmp gfx_cb_end +gfx_cb_error: + mov al,0ffh +gfx_cb_end: + retf + +; Return status info +; +; return: +; edx filename buffer (64 bytes) +; +cb_status: + mov edx,cs + shl edx,4 + add edx,fname_buf + + xor al,al + ret + +; Open file +; +; retu...
2018 Nov 28
2
Rather poor code optimisation of current clang/LLVM targeting Intel x86 (both -64 and -32)
...>> .LBB0_4: # in Loop: Header=BB0_2 Depth=1 >> >> add rdi, 1 >> >> test esi, esi >> >> je .LBB0_5 >> >> .LBB0_2: # =>This Loop Header: Depth=1 >> >> add esi, -1 >> >> movzx edx, byte ptr [rdi] >> >> shl edx, 24 >> >> xor edx, eax >> >> mov ecx, -8 >> >> mov eax, edx >> >> .LBB0_3: # Parent Loop BB0_2 Depth=1 | # 4 instructions instead of >> 6, r8 >> &...
2012 Jul 05
0
[LLVMdev] clang optimizer does not remove unused/uneeded variables(and accesses) from global scope
...ov ebp, esp .text:004012E3 call sub_4014C0 .text:004012E8 mov eax, [ebp+arg_4] ; dword_t random = (dword_t)argv; .text:004012EB mov 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:0040...
2013 Nov 26
0
Sysinux 6 will not boot ISOs on BIOS (i.e. pre-UEFI) systems
...------------ next part -------------- diff --git a/core/isolinux.asm b/core/isolinux.asm index bd4e9556922d..c4db4133e274 100644 --- a/core/isolinux.asm +++ b/core/isolinux.asm @@ -420,7 +420,7 @@ MaxLMA equ 384*1024 ; Reasonable limit (384K) call getlinsec pop eax pop cx - mov dx,cx + movzx edx,cx pop bp pop bx
2013 Dec 01
1
request backport fix for isolinux 4.xx branch
Recently a patch by HPA was added to the elflink branch, "isolinux: Clear upper half of EDX before using..." http://git.zytor.com/?p=syslinux/syslinux.git;a=commit;h=870b84dd8714d dfccc9288025331423efa6d76b7 The patch was then applied to the firmware branch too. The patch solves an issue introduced by a prior commit "isolinux: Update LBA in getlinsec loop". Since the