205 case T_LONG: |
205 case T_LONG: |
206 assert((kindfield == cpu_register || kindfield == stack_value) && |
206 assert((kindfield == cpu_register || kindfield == stack_value) && |
207 size_field() == double_size, "must match"); |
207 size_field() == double_size, "must match"); |
208 break; |
208 break; |
209 case T_FLOAT: |
209 case T_FLOAT: |
210 // FP return values can be also in CPU registers on ARM and PPC (softfp ABI) |
210 // FP return values can be also in CPU registers on ARM and PPC32 (softfp ABI) |
211 assert((kindfield == fpu_register || kindfield == stack_value |
211 assert((kindfield == fpu_register || kindfield == stack_value |
212 ARM_ONLY(|| kindfield == cpu_register) |
212 ARM_ONLY(|| kindfield == cpu_register) |
213 PPC_ONLY(|| kindfield == cpu_register) ) && |
213 PPC32_ONLY(|| kindfield == cpu_register) ) && |
214 size_field() == single_size, "must match"); |
214 size_field() == single_size, "must match"); |
215 break; |
215 break; |
216 case T_DOUBLE: |
216 case T_DOUBLE: |
217 // FP return values can be also in CPU registers on ARM and PPC (softfp ABI) |
217 // FP return values can be also in CPU registers on ARM and PPC32 (softfp ABI) |
218 assert((kindfield == fpu_register || kindfield == stack_value |
218 assert((kindfield == fpu_register || kindfield == stack_value |
219 ARM_ONLY(|| kindfield == cpu_register) |
219 ARM_ONLY(|| kindfield == cpu_register) |
220 PPC_ONLY(|| kindfield == cpu_register) ) && |
220 PPC32_ONLY(|| kindfield == cpu_register) ) && |
221 size_field() == double_size, "must match"); |
221 size_field() == double_size, "must match"); |
222 break; |
222 break; |
223 case T_BOOLEAN: |
223 case T_BOOLEAN: |
224 case T_CHAR: |
224 case T_CHAR: |
225 case T_BYTE: |
225 case T_BYTE: |
556 LIR_OpConvert* opConvert = (LIR_OpConvert*)op; |
556 LIR_OpConvert* opConvert = (LIR_OpConvert*)op; |
557 |
557 |
558 assert(opConvert->_info == NULL, "must be"); |
558 assert(opConvert->_info == NULL, "must be"); |
559 if (opConvert->_opr->is_valid()) do_input(opConvert->_opr); |
559 if (opConvert->_opr->is_valid()) do_input(opConvert->_opr); |
560 if (opConvert->_result->is_valid()) do_output(opConvert->_result); |
560 if (opConvert->_result->is_valid()) do_output(opConvert->_result); |
561 #ifdef PPC |
561 #ifdef PPC32 |
562 if (opConvert->_tmp1->is_valid()) do_temp(opConvert->_tmp1); |
562 if (opConvert->_tmp1->is_valid()) do_temp(opConvert->_tmp1); |
563 if (opConvert->_tmp2->is_valid()) do_temp(opConvert->_tmp2); |
563 if (opConvert->_tmp2->is_valid()) do_temp(opConvert->_tmp2); |
564 #endif |
564 #endif |
565 do_stub(opConvert->_stub); |
565 do_stub(opConvert->_stub); |
566 |
566 |
1951 // LIR_OpConvert |
1951 // LIR_OpConvert |
1952 void LIR_OpConvert::print_instr(outputStream* out) const { |
1952 void LIR_OpConvert::print_instr(outputStream* out) const { |
1953 print_bytecode(out, bytecode()); |
1953 print_bytecode(out, bytecode()); |
1954 in_opr()->print(out); out->print(" "); |
1954 in_opr()->print(out); out->print(" "); |
1955 result_opr()->print(out); out->print(" "); |
1955 result_opr()->print(out); out->print(" "); |
1956 #ifdef PPC |
1956 #ifdef PPC32 |
1957 if(tmp1()->is_valid()) { |
1957 if(tmp1()->is_valid()) { |
1958 tmp1()->print(out); out->print(" "); |
1958 tmp1()->print(out); out->print(" "); |
1959 tmp2()->print(out); out->print(" "); |
1959 tmp2()->print(out); out->print(" "); |
1960 } |
1960 } |
1961 #endif |
1961 #endif |