1.1 --- a/src/cpu/mips/vm/mips_64.ad Tue Mar 28 07:43:04 2017 -0400 1.2 +++ b/src/cpu/mips/vm/mips_64.ad Tue Mar 28 14:52:30 2017 -0400 1.3 @@ -8116,18 +8116,17 @@ 1.4 Register num = $cnt$$Register; 1.5 Label Loop, done; 1.6 1.7 - /* 2012/9/21 Jin: according to X86, $cnt is caculated by doublewords(8 bytes) */ 1.8 + __ beq(num, R0, done); 1.9 + __ delayed()->daddu(AT, base, R0); 1.10 + 1.11 __ move(T9, num); /* T9 = words */ 1.12 - __ beq(T9, R0, done); 1.13 - __ nop(); 1.14 - __ move(AT, base); 1.15 1.16 __ bind(Loop); 1.17 - __ sd(R0, Address(AT, 0)); 1.18 - __ daddi(AT, AT, wordSize); 1.19 + __ sd(R0, AT, 0); 1.20 __ daddi(T9, T9, -1); 1.21 __ bne(T9, R0, Loop); 1.22 - __ delayed()->nop(); 1.23 + __ delayed()->daddi(AT, AT, wordSize); 1.24 + 1.25 __ bind(done); 1.26 %} 1.27 ins_pipe( pipe_slow );