search for: movbe

Displaying 20 results from an estimated 391 matches for "movbe".

Did you mean: movb
2016 May 24
5
Liveness of AL, AH and AX in x86 backend
I'm trying to see how the x86 backend deals with the relationship between AL, AH and AX, but I can't get it to generate any code that would expose an interesting scenario. For example, I wrote this piece: typedef struct { char x, y; } struct_t; struct_t z; struct_t foo(char *p) { struct_t s; s.x = *p++; s.y = *p; z = s; s.x++; return s; } But the output at -O2
2005 Feb 22
0
[LLVMdev] Area for improvement
When I increased COLS to the point where the loop could no longer be unrolled, the selection dag code generator generated effectively the same code as the default X86 code generator. Lots of redundant imul/movl/addl sequences. It can't clean it up either. Only unrolling all nested loops permits it to be optimized away, regardless of code generator. Jeff Cohen wrote: > I noticed
2009 Mar 30
2
[PATCH 1/1] v2 Add Diagnostic MBR for trouble-shooting
--- mbr/Makefile | 6 +- mbr/mbr-diag.S | 372 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 377 insertions(+), 1 deletions(-) create mode 100644 mbr/mbr-diag.S diff --git a/mbr/Makefile b/mbr/Makefile index 0bdf7e3..b9d743d 100644 --- a/mbr/Makefile +++ b/mbr/Makefile @@ -17,7 +17,7 @@ topdir = .. include $(topdir)/MCONFIG.embedded -all: mbr.bin gptmbr.bin
2009 Mar 30
0
[PATCH 1/1] Add Diagnostic MBR for trouble-shooting
--- mbr/Makefile | 6 +- mbr/mbr-diag.S | 371 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 376 insertions(+), 1 deletions(-) create mode 100644 mbr/mbr-diag.S diff --git a/mbr/Makefile b/mbr/Makefile index 0bdf7e3..b9d743d 100644 --- a/mbr/Makefile +++ b/mbr/Makefile @@ -17,7 +17,7 @@ topdir = .. include $(topdir)/MCONFIG.embedded -all: mbr.bin gptmbr.bin
2016 May 24
0
Liveness of AL, AH and AX in x86 backend
Try using x86 mode rather than Intel64 mode. I have definitely gotten it to use both ah and al in 32 bit x86 code generation. In particular, I have seen that in loops for both the spec2000 and spec2006 versions of bzip. It can happen, but it does only rarely. Kevin Smith >-----Original Message----- >From: llvm-dev [mailto:llvm-dev-bounces at lists.llvm.org] On Behalf Of >Krzysztof
2009 Mar 30
2
[PATCH 1/1] v3: Add Diagnostic MBR for trouble-shooting BIOS boot-order problems.
--- mbr/Makefile | 6 +- mbr/mbr-diag.S | 377 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 382 insertions(+), 1 deletions(-) create mode 100644 mbr/mbr-diag.S diff --git a/mbr/Makefile b/mbr/Makefile index 0bdf7e3..b9d743d 100644 --- a/mbr/Makefile +++ b/mbr/Makefile @@ -17,7 +17,7 @@ topdir = .. include $(topdir)/MCONFIG.embedded -all: mbr.bin gptmbr.bin
2005 Feb 22
5
[LLVMdev] Area for improvement
I noticed that fourinarow is one of the programs in which LLVM is much slower than GCC, so I decided to take a look and see why that is so. The program has many loops that look like this: #define ROWS 6 #define COLS 7 void init_board(char b[COLS][ROWS+1]) { int i,j; for (i=0;i<COLS;i++) for (j=0;j<ROWS;j++) b[i][j]='.';
2016 May 24
0
Liveness of AL, AH and AX in x86 backend
Hi Krzysztof, > On May 24, 2016, at 8:03 AM, Krzysztof Parzyszek via llvm-dev <llvm-dev at lists.llvm.org> wrote: > > I'm trying to see how the x86 backend deals with the relationship between AL, AH and AX, but I can't get it to generate any code that would expose an interesting scenario. > > For example, I wrote this piece: > > typedef struct { > char x,
2007 Apr 18
0
[PATCH 8/12] base-limit-cleanup
Found some stray descriptor table accessors that had non-optimal assembler constraints. Use "q" to get word, high and low byte access without forcing a specific register constraint. Add desc as a memory output operand. Also, get_base was completely unused. Deprecate it. The function get_limit is also unused, but I did not deprecate it; it could be used in arch/i386/mm/fault.c.
2007 Apr 18
0
[PATCH 8/12] base-limit-cleanup
Found some stray descriptor table accessors that had non-optimal assembler constraints. Use "q" to get word, high and low byte access without forcing a specific register constraint. Add desc as a memory output operand. Also, get_base was completely unused. Deprecate it. The function get_limit is also unused, but I did not deprecate it; it could be used in arch/i386/mm/fault.c.
2019 Aug 08
2
Suboptimal code generated by clang+llc in quite a common scenario (?)
I found a something that I quite not understand when compiling a common piece of code using the -Os flags. I found it while testing my own backend but then I got deeper and found that at least the x86 is affected as well. This is the referred code: char pp[3]; char *scscx = pp; int tst( char i, char j, char k ) { scscx[0] = i; scscx[1] = j; scscx[2] = k; return 0; } The above gets
2007 Apr 18
0
[PATCH 6/12] early-clobber-tss
Use an early clobber on addr to avoid the extra rorl instruction at the end of _set_tssldt_desc. Also, get some C type checking on the descriptor struct here. Signed-off-by: Zachary Amsden <zach@vmware.com> Index: linux-2.6.13/include/asm-i386/desc.h =================================================================== --- linux-2.6.13.orig/include/asm-i386/desc.h 2005-08-08
2007 Apr 18
0
[PATCH 9/12] base-into-desc
Move base / limit accessors into desc.h, where they properly belong. Signed-off-by: Zachary Amsden <zach@vmware.com> Index: linux-2.6.13/include/asm-i386/system.h =================================================================== --- linux-2.6.13.orig/include/asm-i386/system.h 2005-08-08 17:58:03.000000000 -0700 +++ linux-2.6.13/include/asm-i386/system.h 2005-08-08 18:01:31.000000000 -0700
2007 Apr 18
1
[PATCH 5/14] i386 / Use early clobber to eliminate rotate in desc
Use an early clobber on addr to avoid the extra rorl instruction at the end of _set_tssldt_desc. Also, get some C type checking on the descriptor struct here. Patch-base: 2.6.13-rc5-mm1 Patch-keys: i386 desc cleanup optimize Signed-off-by: Zachary Amsden <zach@vmware.com> Index: linux-2.6.13/include/asm-i386/desc.h =================================================================== ---
2007 Apr 18
0
[PATCH 6/12] early-clobber-tss
Use an early clobber on addr to avoid the extra rorl instruction at the end of _set_tssldt_desc. Also, get some C type checking on the descriptor struct here. Signed-off-by: Zachary Amsden <zach@vmware.com> Index: linux-2.6.13/include/asm-i386/desc.h =================================================================== --- linux-2.6.13.orig/include/asm-i386/desc.h 2005-08-08
2007 Apr 18
0
[PATCH 9/12] base-into-desc
Move base / limit accessors into desc.h, where they properly belong. Signed-off-by: Zachary Amsden <zach@vmware.com> Index: linux-2.6.13/include/asm-i386/system.h =================================================================== --- linux-2.6.13.orig/include/asm-i386/system.h 2005-08-08 17:58:03.000000000 -0700 +++ linux-2.6.13/include/asm-i386/system.h 2005-08-08 18:01:31.000000000 -0700
2007 Apr 18
1
[PATCH 5/14] i386 / Use early clobber to eliminate rotate in desc
Use an early clobber on addr to avoid the extra rorl instruction at the end of _set_tssldt_desc. Also, get some C type checking on the descriptor struct here. Patch-base: 2.6.13-rc5-mm1 Patch-keys: i386 desc cleanup optimize Signed-off-by: Zachary Amsden <zach@vmware.com> Index: linux-2.6.13/include/asm-i386/desc.h =================================================================== ---
2007 Apr 18
0
[PATCH 10/14] i386 / Move descriptor accessors into desc h
Move base / limit accessors into desc.h, where they properly belong. Patch-base: 2.6.13-rc5-mm1 Patch-keys: i386 desc cleanup Signed-off-by: Zachary Amsden <zach@vmware.com> Index: linux-2.6.13/include/asm-i386/system.h =================================================================== --- linux-2.6.13.orig/include/asm-i386/system.h 2005-08-09 20:17:26.000000000 -0700 +++
2007 Apr 18
0
[PATCH 9/14] i386 / Typecheck and optimize base and limit accessors
Found some stray descriptor table accessors that had non-optimal assembler constraints. Use "q" to get word, high and low byte access without forcing a specific register constraint. Add desc as a memory output operand. Also, get_base was completely unused. Deprecate it. The function get_limit is also unused, but I did not deprecate it; it could be used in arch/i386/mm/fault.c.
2007 Apr 18
0
[PATCH 10/14] i386 / Move descriptor accessors into desc h
Move base / limit accessors into desc.h, where they properly belong. Patch-base: 2.6.13-rc5-mm1 Patch-keys: i386 desc cleanup Signed-off-by: Zachary Amsden <zach@vmware.com> Index: linux-2.6.13/include/asm-i386/system.h =================================================================== --- linux-2.6.13.orig/include/asm-i386/system.h 2005-08-09 20:17:26.000000000 -0700 +++