From: <cap...@us...> - 2007-04-13 23:43:17
|
Revision: 12017 http://svn.sourceforge.net/jikesrvm/?rev=12017&view=rev Author: captain5050 Date: 2007-04-13 16:43:16 -0700 (Fri, 13 Apr 2007) Log Message: ----------- When is a move not a move? When it sign/zero extends, then its a unary. Modified Paths: -------------- rvmroot/trunk/rvm/src-generated/opt-burs/ia32/IA32.rules Modified: rvmroot/trunk/rvm/src-generated/opt-burs/ia32/IA32.rules =================================================================== --- rvmroot/trunk/rvm/src-generated/opt-burs/ia32/IA32.rules 2007-04-13 14:46:04 UTC (rev 12016) +++ rvmroot/trunk/rvm/src-generated/opt-burs/ia32/IA32.rules 2007-04-13 23:43:16 UTC (rev 12017) @@ -1609,7 +1609,7 @@ r: INT_2USHORT(load16_32) 25 EMIT_INSTRUCTION -EMIT(MIR_Move.create(IA32_MOVZX__W, Unary.getResult(P(p)), setSize(consumeMO(),2))); +EMIT(MIR_Unary.create(IA32_MOVZX__W, Unary.getResult(P(p)), setSize(consumeMO(),2))); stm: SHORT_STORE(INT_2USHORT(r), OTHER_OPERAND(riv,riv)) 15 @@ -2027,7 +2027,7 @@ r: INT_AND_ACC(load8_16_32, INT_CONSTANT) IC(BinaryAcc.getValue(P(p))).upper24() == 0?25:INFINITE EMIT_INSTRUCTION -EMIT(MIR_Unary.create(IA32_MOV, BinaryAcc.getResult(P(p)), setSize(consumeMO(), 1))); \ +EMIT(MIR_Move.create(IA32_MOV, BinaryAcc.getResult(P(p)), setSize(consumeMO(), 1))); \ EMIT(MIR_BinaryAcc.mutate(P(p), IA32_AND, BinaryAcc.getResult(P(p)).copyD2D(), BinaryAcc.getValue(P(p)))); # load8 << 24 >>> 24 ===> uload8 @@ -2093,7 +2093,7 @@ r: INT_AND_ACC(load16_32, INT_CONSTANT) IC(BinaryAcc.getValue(P(p))).upper16() == 0 ? 25 : INFINITE EMIT_INSTRUCTION -EMIT(MIR_Unary.create(IA32_MOV, BinaryAcc.getResult(P(p)), setSize(consumeMO(),2))); \ +EMIT(MIR_Move.create(IA32_MOV, BinaryAcc.getResult(P(p)), consumeMO())); \ EMIT(MIR_BinaryAcc.mutate(P(p), IA32_AND, BinaryAcc.getResult(P(p)).copyD2D(), BinaryAcc.getValue(P(p)))); # load16_32 << 16 >>> 16 ===> uload16 (_201_compress) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |