------- Comment #6 from rguenth at gcc dot gnu dot org 2008-04-25 15:29 ------- Errm. change_address_1 simply builds a DImode mem (with alignment info properly retained)
#0 0x00000000005e80c2 in adjust_address_1 (memref=0x2b0751d81520, mode=DImode, offset=0, validate=0, adjust=1) at /space/rguenther/src/svn/gcc-4_3-branch/gcc/emit-rtl.c:1910 #1 0x00000000005e396c in operand_subword (op=0x2b0751d81520, offset=0, validate_address=1, mode=BLKmode) at /space/rguenther/src/svn/gcc-4_3-branch/gcc/emit-rtl.c:1346 #2 0x00000000005e3a28 in operand_subword_force (op=0x2b0751d81520, offset=0, mode=BLKmode) at /space/rguenther/src/svn/gcc-4_3-branch/gcc/emit-rtl.c:1374 #3 0x000000000060fd27 in move_block_to_reg (regno=5, x=0x2b0751d81520, nregs=1, mode=BLKmode) at /space/rguenther/src/svn/gcc-4_3-branch/gcc/expr.c:1560 #4 0x000000000054f7b9 in load_register_parameters (args=0x7fff59711810, num_actuals=1, call_fusage=0x7fff597119d0, flags=0, is_sibcall=0, sibcall_failure=0x7fff597119ac) at /space/rguenther/src/svn/gcc-4_3-branch/gcc/calls.c:1681 #5 0x00000000005526b4 in expand_call (exp=0x2b075142d460, target=0x0, ignore=1) at /space/rguenther/src/svn/gcc-4_3-branch/gcc/calls.c:2763 no idea if that is supposed to work (and thus *movdi_1_rex64 shouldn't match) or if not ... -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36043