Tested on hppa-unknown-linux-gnu and hppa64-hp-hpux11.11. Committed to all active branches.
Dave --- hppa: Remove inner `fix:SF/DF` from fixed-point patterns 2024-11-13 John David Anglin <dang...@gcc.gnu.org> gcc/ChangeLog: PR target/117525 * config/pa/pa.md (fix_truncsfsi2): Remove inner `fix:SF`. (fix_truncdfsi2, fix_truncsfdi2, fix_truncdfdi2, fixuns_truncsfsi2, fixuns_truncdfsi2, fixuns_truncsfdi2, fixuns_truncdfdi2): Likewise. diff --git a/gcc/config/pa/pa.md b/gcc/config/pa/pa.md index bf59b7f601e..f3c6262230d 100644 --- a/gcc/config/pa/pa.md +++ b/gcc/config/pa/pa.md @@ -5026,7 +5026,7 @@ (define_insn "fix_truncsfsi2" [(set (match_operand:SI 0 "register_operand" "=f") - (fix:SI (fix:SF (match_operand:SF 1 "register_operand" "f"))))] + (fix:SI (match_operand:SF 1 "register_operand" "f")))] "! TARGET_SOFT_FLOAT" "{fcnvfxt,sgl,sgl|fcnv,t,sgl,w} %1,%0" [(set_attr "type" "fpalu") @@ -5034,7 +5034,7 @@ (define_insn "fix_truncdfsi2" [(set (match_operand:SI 0 "register_operand" "=f") - (fix:SI (fix:DF (match_operand:DF 1 "register_operand" "f"))))] + (fix:SI (match_operand:DF 1 "register_operand" "f")))] "! TARGET_SOFT_FLOAT" "{fcnvfxt,dbl,sgl|fcnv,t,dbl,w} %1,%0" [(set_attr "type" "fpalu") @@ -5042,7 +5042,7 @@ (define_insn "fix_truncsfdi2" [(set (match_operand:DI 0 "register_operand" "=f") - (fix:DI (fix:SF (match_operand:SF 1 "register_operand" "f"))))] + (fix:DI (match_operand:SF 1 "register_operand" "f")))] "TARGET_PA_11 && ! TARGET_SOFT_FLOAT" "{fcnvfxt,sgl,dbl|fcnv,t,sgl,dw} %1,%0" [(set_attr "type" "fpalu") @@ -5050,7 +5050,7 @@ (define_insn "fix_truncdfdi2" [(set (match_operand:DI 0 "register_operand" "=f") - (fix:DI (fix:DF (match_operand:DF 1 "register_operand" "f"))))] + (fix:DI (match_operand:DF 1 "register_operand" "f")))] "TARGET_PA_11 && ! TARGET_SOFT_FLOAT" "{fcnvfxt,dbl,dbl|fcnv,t,dbl,dw} %1,%0" [(set_attr "type" "fpalu") @@ -5090,7 +5090,7 @@ (define_insn "fixuns_truncsfsi2" [(set (match_operand:SI 0 "register_operand" "=f") - (unsigned_fix:SI (fix:SF (match_operand:SF 1 "register_operand" "f"))))] + (unsigned_fix:SI (match_operand:SF 1 "register_operand" "f")))] "! TARGET_SOFT_FLOAT && TARGET_PA_20" "fcnv,t,sgl,uw %1,%0" [(set_attr "type" "fpalu") @@ -5098,7 +5098,7 @@ (define_insn "fixuns_truncdfsi2" [(set (match_operand:SI 0 "register_operand" "=f") - (unsigned_fix:SI (fix:DF (match_operand:DF 1 "register_operand" "f"))))] + (unsigned_fix:SI (match_operand:DF 1 "register_operand" "f")))] "! TARGET_SOFT_FLOAT && TARGET_PA_20" "fcnv,t,dbl,uw %1,%0" [(set_attr "type" "fpalu") @@ -5106,7 +5106,7 @@ (define_insn "fixuns_truncsfdi2" [(set (match_operand:DI 0 "register_operand" "=f") - (unsigned_fix:DI (fix:SF (match_operand:SF 1 "register_operand" "f"))))] + (unsigned_fix:DI (match_operand:SF 1 "register_operand" "f")))] "! TARGET_SOFT_FLOAT && TARGET_PA_20" "fcnv,t,sgl,udw %1,%0" [(set_attr "type" "fpalu") @@ -5114,7 +5114,7 @@ (define_insn "fixuns_truncdfdi2" [(set (match_operand:DI 0 "register_operand" "=f") - (unsigned_fix:DI (fix:DF (match_operand:DF 1 "register_operand" "f"))))] + (unsigned_fix:DI (match_operand:DF 1 "register_operand" "f")))] "! TARGET_SOFT_FLOAT && TARGET_PA_20" "fcnv,t,dbl,udw %1,%0" [(set_attr "type" "fpalu")
signature.asc
Description: PGP signature