mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-02-25 00:36:00 +08:00
rs6000.md (floatsitf2): Use expand_float rather than trying to generate RTL directly.
* config/rs6000/rs6000.md (floatsitf2): Use expand_float rather than trying to generate RTL directly. (fix_trunctfsi2): Use expand_fix rather than trying to generate RTL directly. From-SVN: r75485
This commit is contained in:
parent
5f383ba58b
commit
0c90aa3c5c
@ -1,5 +1,10 @@
|
||||
2004-01-06 Geoffrey Keating <geoffk@apple.com>
|
||||
|
||||
* config/rs6000/rs6000.md (floatsitf2): Use expand_float rather
|
||||
than trying to generate RTL directly.
|
||||
(fix_trunctfsi2): Use expand_fix rather than trying to generate
|
||||
RTL directly.
|
||||
|
||||
* dwarf2out.c (add_const_value_attribute): Remove incorrect comment.
|
||||
|
||||
2004-01-06 David Edelsohn <edelsohn@gnu.org>
|
||||
|
@ -8290,19 +8290,17 @@
|
||||
(float_extend:TF (match_dup 2)))]
|
||||
"")
|
||||
|
||||
(define_insn_and_split "floatsitf2"
|
||||
(define_expand "floatsitf2"
|
||||
[(set (match_operand:TF 0 "gpc_reg_operand" "=f")
|
||||
(float:TF (match_operand:SI 1 "gpc_reg_operand" "r")))
|
||||
(clobber (match_scratch:DF 2 "=f"))]
|
||||
(float:TF (match_operand:SI 1 "gpc_reg_operand" "r")))]
|
||||
"(DEFAULT_ABI == ABI_AIX || DEFAULT_ABI == ABI_DARWIN)
|
||||
&& TARGET_HARD_FLOAT && TARGET_FPRS && TARGET_LONG_DOUBLE_128"
|
||||
"#"
|
||||
"&& reload_completed"
|
||||
[(set (match_dup 2)
|
||||
(float:DF (match_dup 1)))
|
||||
(set (match_dup 0)
|
||||
(float_extend:TF (match_dup 2)))]
|
||||
"")
|
||||
{
|
||||
rtx tmp = gen_reg_rtx (DFmode);
|
||||
expand_float (tmp, operands[1], false);
|
||||
emit_insn (gen_extenddftf2 (operands[0], tmp));
|
||||
DONE;
|
||||
})
|
||||
|
||||
(define_insn_and_split "fix_trunctfdi2"
|
||||
[(set (match_operand:DI 0 "gpc_reg_operand" "=*f")
|
||||
@ -8319,19 +8317,17 @@
|
||||
(fix:DI (match_dup 2)))]
|
||||
"")
|
||||
|
||||
(define_insn_and_split "fix_trunctfsi2"
|
||||
(define_expand "fix_trunctfsi2"
|
||||
[(set (match_operand:SI 0 "gpc_reg_operand" "=r")
|
||||
(fix:SI (match_operand:TF 1 "gpc_reg_operand" "f")))
|
||||
(clobber (match_scratch:DF 2 "=f"))]
|
||||
(fix:SI (match_operand:TF 1 "gpc_reg_operand" "f")))]
|
||||
"(DEFAULT_ABI == ABI_AIX || DEFAULT_ABI == ABI_DARWIN)
|
||||
&& TARGET_HARD_FLOAT && TARGET_FPRS && TARGET_LONG_DOUBLE_128"
|
||||
"#"
|
||||
"&& reload_completed"
|
||||
[(set (match_dup 2)
|
||||
(float_truncate:DF (match_dup 1)))
|
||||
(set (match_dup 0)
|
||||
(fix:SI (match_dup 2)))]
|
||||
"")
|
||||
{
|
||||
rtx tmp = gen_reg_rtx (DFmode);
|
||||
emit_insn (gen_trunctfdf2 (tmp, operands[1]));
|
||||
expand_fix (operands[0], tmp, false);
|
||||
DONE;
|
||||
})
|
||||
|
||||
(define_insn "negtf2"
|
||||
[(set (match_operand:TF 0 "gpc_reg_operand" "=f")
|
||||
|
Loading…
Reference in New Issue
Block a user