src/cpu/mips/vm/mips_64.ad

changeset 191
2f53535fd1f5
parent 188
4ef93b5bf2f5
child 193
47d02c062f9f
equal deleted inserted replaced
190:431f047d7931 191:2f53535fd1f5
1983 int index = $mem$$index; 1983 int index = $mem$$index;
1984 int scale = $mem$$scale; 1984 int scale = $mem$$scale;
1985 int disp = $mem$$disp; 1985 int disp = $mem$$disp;
1986 int value = $src$$constant; 1986 int value = $src$$constant;
1987 1987
1988 __ sync();
1989
1990 if( index != 0 ) { 1988 if( index != 0 ) {
1991 if (scale == 0) { 1989 if (scale == 0) {
1992 __ daddu(AT, as_Register(base), as_Register(index)); 1990 __ daddu(AT, as_Register(base), as_Register(index));
1993 } else { 1991 } else {
1994 __ dsll(AT, as_Register(index), scale); 1992 __ dsll(AT, as_Register(index), scale);
2033 __ sb(T9, AT, 0); 2031 __ sb(T9, AT, 0);
2034 } 2032 }
2035 } 2033 }
2036 } 2034 }
2037 2035
2038 if (Use3A2000) __ sync(); 2036 __ sync();
2039 %} 2037 %}
2040 2038
2041 // Load Short (16bit signed) 2039 // Load Short (16bit signed)
2042 enc_class load_S_enc (mRegI dst, memory mem) %{ 2040 enc_class load_S_enc (mRegI dst, memory mem) %{
2043 MacroAssembler _masm(&cbuf); 2041 MacroAssembler _masm(&cbuf);

mercurial