diff options
author | uweigand <uweigand@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-09-26 19:15:00 +0000 |
---|---|---|
committer | uweigand <uweigand@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-09-26 19:15:00 +0000 |
commit | 83f88f8ef1ec8d1d1ce04c4305797adad2656593 (patch) | |
tree | c0483aec59791e400d05b2244f05c4f481708224 /gcc/builtins.c | |
parent | a1a25d19ee3a474f26828f018129d687f298158c (diff) | |
download | gcc-83f88f8ef1ec8d1d1ce04c4305797adad2656593.tar.gz |
* builtins.c (expand_builtin_memcmp): Adjust MEM_SIZE to
reflect size of memory regions being compared.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88142 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/builtins.c')
-rw-r--r-- | gcc/builtins.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/gcc/builtins.c b/gcc/builtins.c index 9127f45b6aa..1aeae965401 100644 --- a/gcc/builtins.c +++ b/gcc/builtins.c @@ -3540,6 +3540,14 @@ expand_builtin_memcmp (tree exp ATTRIBUTE_UNUSED, tree arglist, rtx target, arg1_rtx = get_memory_rtx (arg1); arg2_rtx = get_memory_rtx (arg2); arg3_rtx = expand_expr (len, NULL_RTX, VOIDmode, 0); + + /* Set MEM_SIZE as appropriate. */ + if (GET_CODE (arg3_rtx) == CONST_INT) + { + set_mem_size (arg1_rtx, arg3_rtx); + set_mem_size (arg2_rtx, arg3_rtx); + } + #ifdef HAVE_cmpmemsi if (HAVE_cmpmemsi) insn = gen_cmpmemsi (result, arg1_rtx, arg2_rtx, arg3_rtx, |