diff options
Diffstat (limited to 'gcc/config/s390/s390.md')
| -rw-r--r-- | gcc/config/s390/s390.md | 51 |
1 files changed, 2 insertions, 49 deletions
diff --git a/gcc/config/s390/s390.md b/gcc/config/s390/s390.md index d7f0e07..9f564be 100644 --- a/gcc/config/s390/s390.md +++ b/gcc/config/s390/s390.md @@ -827,14 +827,6 @@ /* Handle symbolic constants. */ if (TARGET_64BIT && SYMBOLIC_CONST (operands[1])) emit_symbolic_move (operands); - - /* During and after reload, we need to force constants - to the literal pool ourselves, if necessary. */ - if ((reload_in_progress || reload_completed) - && CONSTANT_P (operands[1]) - && (!legitimate_reload_constant_p (operands[1]) - || FP_REG_P (operands[0]))) - operands[1] = force_const_mem (DImode, operands[1]); }) (define_insn "*movdi_larl" @@ -1011,27 +1003,6 @@ /* Handle symbolic constants. */ if (!TARGET_64BIT && SYMBOLIC_CONST (operands[1])) emit_symbolic_move (operands); - - /* expr.c tries to load an effective address using - force_reg. This fails because we don't have a - generic load_address pattern. Convert the move - to a proper arithmetic operation instead, unless - it is guaranteed to be OK. */ - if (GET_CODE (operands[1]) == PLUS - && !legitimate_la_operand_p (operands[1])) - { - operands[1] = force_operand (operands[1], operands[0]); - if (operands[1] == operands[0]) - DONE; - } - - /* During and after reload, we need to force constants - to the literal pool ourselves, if necessary. */ - if ((reload_in_progress || reload_completed) - && CONSTANT_P (operands[1]) - && (!legitimate_reload_constant_p (operands[1]) - || FP_REG_P (operands[0]))) - operands[1] = force_const_mem (SImode, operands[1]); }) (define_insn "*movsi_larl" @@ -1321,13 +1292,7 @@ [(set (match_operand:DF 0 "nonimmediate_operand" "") (match_operand:DF 1 "general_operand" ""))] "" -{ - /* During and after reload, we need to force constants - to the literal pool ourselves, if necessary. */ - if ((reload_in_progress || reload_completed) - && CONSTANT_P (operands[1])) - operands[1] = force_const_mem (DFmode, operands[1]); -}) + "") (define_insn "*movdf_64" [(set (match_operand:DF 0 "nonimmediate_operand" "=f,f,f,R,T,d,d,m,?Q") @@ -1421,19 +1386,7 @@ ; movsf instruction pattern(s). ; -(define_expand "movsf" - [(set (match_operand:SF 0 "nonimmediate_operand" "") - (match_operand:SF 1 "general_operand" ""))] - "" -{ - /* During and after reload, we need to force constants - to the literal pool ourselves, if necessary. */ - if ((reload_in_progress || reload_completed) - && CONSTANT_P (operands[1])) - operands[1] = force_const_mem (SFmode, operands[1]); -}) - -(define_insn "*movsf" +(define_insn "movsf" [(set (match_operand:SF 0 "nonimmediate_operand" "=f,f,f,R,T,d,d,d,R,T,?Q") (match_operand:SF 1 "general_operand" "f,R,T,f,f,d,R,T,d,d,?Q"))] "" |
