Commit 17136dde by Richard Earnshaw Committed by Richard Earnshaw

* arm.md (fix_truncsfsi2, fix_truncdfsi2, arm_fix_truncsfsi2)

(arm_fix_truncdfsi2): Add missing fix in floating point mode before
conversion to integer.
* cirrus.md (cirrus_truncsfsi2, cirrus_truncdfsi2): Likewise.

From-SVN: r64037
parent 9edf6a4c
2003-03-09 Richard Earnshaw <rearnsha@arm.com>
* arm.md (fix_truncsfsi2, fix_truncdfsi2, arm_fix_truncsfsi2)
(arm_fix_truncdfsi2): Add missing fix in floating point mode before
conversion to integer.
* cirrus.md (cirrus_truncsfsi2, cirrus_truncdfsi2): Likewise.
2003-03-09 Roger Sayle <roger@eyesopen.com> 2003-03-09 Roger Sayle <roger@eyesopen.com>
* builtins.def: Fix typo and improve grammar. * builtins.def: Fix typo and improve grammar.
......
...@@ -3117,7 +3117,7 @@ ...@@ -3117,7 +3117,7 @@
(define_expand "fix_truncsfsi2" (define_expand "fix_truncsfsi2"
[(set (match_operand:SI 0 "s_register_operand" "") [(set (match_operand:SI 0 "s_register_operand" "")
(fix:SI (match_operand:SF 1 "s_register_operand" "")))] (fix:SI (fix:SF (match_operand:SF 1 "s_register_operand" ""))))]
"TARGET_ARM && TARGET_ANY_HARD_FLOAT" "TARGET_ARM && TARGET_ANY_HARD_FLOAT"
" "
if (TARGET_CIRRUS) if (TARGET_CIRRUS)
...@@ -3133,7 +3133,7 @@ ...@@ -3133,7 +3133,7 @@
(define_insn "*arm_fix_truncsfsi2" (define_insn "*arm_fix_truncsfsi2"
[(set (match_operand:SI 0 "s_register_operand" "=r") [(set (match_operand:SI 0 "s_register_operand" "=r")
(fix:SI (match_operand:SF 1 "s_register_operand" "f")))] (fix:SI (fix:SF (match_operand:SF 1 "s_register_operand" "f"))))]
"TARGET_ARM && TARGET_HARD_FLOAT" "TARGET_ARM && TARGET_HARD_FLOAT"
"fix%?z\\t%0, %1" "fix%?z\\t%0, %1"
[(set_attr "type" "f_2_r") [(set_attr "type" "f_2_r")
...@@ -3142,7 +3142,7 @@ ...@@ -3142,7 +3142,7 @@
(define_expand "fix_truncdfsi2" (define_expand "fix_truncdfsi2"
[(set (match_operand:SI 0 "s_register_operand" "") [(set (match_operand:SI 0 "s_register_operand" "")
(fix:SI (match_operand:DF 1 "s_register_operand" "")))] (fix:SI (fix:DF (match_operand:DF 1 "s_register_operand" ""))))]
"TARGET_ARM && TARGET_ANY_HARD_FLOAT" "TARGET_ARM && TARGET_ANY_HARD_FLOAT"
" "
if (TARGET_CIRRUS) if (TARGET_CIRRUS)
...@@ -3156,7 +3156,7 @@ ...@@ -3156,7 +3156,7 @@
(define_insn "*arm_fix_truncdfsi2" (define_insn "*arm_fix_truncdfsi2"
[(set (match_operand:SI 0 "s_register_operand" "=r") [(set (match_operand:SI 0 "s_register_operand" "=r")
(fix:SI (match_operand:DF 1 "s_register_operand" "f")))] (fix:SI (fix:DF (match_operand:DF 1 "s_register_operand" "f"))))]
"TARGET_ARM && TARGET_HARD_FLOAT" "TARGET_ARM && TARGET_HARD_FLOAT"
"fix%?z\\t%0, %1" "fix%?z\\t%0, %1"
[(set_attr "type" "f_2_r") [(set_attr "type" "f_2_r")
......
...@@ -334,7 +334,7 @@ ...@@ -334,7 +334,7 @@
(define_insn "cirrus_truncsfsi2" (define_insn "cirrus_truncsfsi2"
[(set (match_operand:SI 0 "s_register_operand" "=r") [(set (match_operand:SI 0 "s_register_operand" "=r")
(fix:SI (match_operand:SF 1 "cirrus_fp_register" "v"))) (fix:SI (fix:SF (match_operand:SF 1 "cirrus_fp_register" "v"))))
(clobber (match_scratch:DF 2 "=v"))] (clobber (match_scratch:DF 2 "=v"))]
"TARGET_ARM && TARGET_CIRRUS" "TARGET_ARM && TARGET_CIRRUS"
"cftruncs32%?\\t%Y2, %V1\;cfmvr64l%?\\t%0, %Z2" "cftruncs32%?\\t%Y2, %V1\;cfmvr64l%?\\t%0, %Z2"
...@@ -344,7 +344,7 @@ ...@@ -344,7 +344,7 @@
(define_insn "cirrus_truncdfsi2" (define_insn "cirrus_truncdfsi2"
[(set (match_operand:SI 0 "s_register_operand" "=r") [(set (match_operand:SI 0 "s_register_operand" "=r")
(fix:SI (match_operand:DF 1 "cirrus_fp_register" "v"))) (fix:SI (fix:DF (match_operand:DF 1 "cirrus_fp_register" "v"))))
(clobber (match_scratch:DF 2 "=v"))] (clobber (match_scratch:DF 2 "=v"))]
"TARGET_ARM && TARGET_CIRRUS" "TARGET_ARM && TARGET_CIRRUS"
"cftruncd32%?\\t%Y2, %V1\;cfmvr64l%?\\t%0, %Z2" "cftruncd32%?\\t%Y2, %V1\;cfmvr64l%?\\t%0, %Z2"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment