]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
hppa: Remove inner `fix:SF/DF` from fixed-point patterns
authorJohn David Anglin <danglin@gcc.gnu.org>
Wed, 13 Nov 2024 14:40:42 +0000 (09:40 -0500)
committerJohn David Anglin <danglin@gcc.gnu.org>
Wed, 13 Nov 2024 14:40:42 +0000 (09:40 -0500)
2024-11-13  John David Anglin  <danglin@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.

gcc/config/pa/pa.md

index 360198e9d087d3ac24a395ef9bd6a1313161e3b4..f3c6262230d8c9abefe5e9863135dfb357d675aa 100644 (file)
 
 (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")
 
 (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")
 
 (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")
 
 (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")
 
 (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")
 
 (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")
 
 (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")
 
 (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")