OSDN Git Service

2007-05-04 Andreas Krebbel <krebbel1@de.ibm.com>
authorkrebbel <krebbel@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 4 May 2007 16:23:08 +0000 (16:23 +0000)
committerkrebbel <krebbel@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 4 May 2007 16:23:08 +0000 (16:23 +0000)
* config/s390/s390.md ("fix_trunc<mode>di2", "fix_trunc<mode>si2"):
Expander removed.
("fix_trunc<DSF:mode><GPR:mode>2"): Expander added.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@124433 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/config/s390/s390.md

index b31ca09..86cc306 100644 (file)
@@ -1,3 +1,9 @@
+2007-05-04  Andreas Krebbel  <krebbel1@de.ibm.com>
+
+       * config/s390/s390.md ("fix_trunc<mode>di2", "fix_trunc<mode>si2"):
+       Expander removed.
+       ("fix_trunc<DSF:mode><GPR:mode>2"): Expander added.
+
 2007-05-04  Bob Wilson  <bob.wilson@acm.org>
        
        * config/xtensa/xtensa.md (adddi3, adddi_carry): Delete.
index 4190535..c4ce3f4 100644 (file)
   DONE;
 })
 
-(define_expand "fix_trunc<mode>di2"
-  [(set (match_operand:DI 0 "register_operand" "")
-        (fix:DI (match_operand:DSF 1 "nonimmediate_operand" "")))]
-  "TARGET_64BIT && TARGET_HARD_FLOAT"
+(define_expand "fix_trunc<DSF:mode><GPR:mode>2"
+  [(set (match_operand:GPR 0 "register_operand" "")
+        (fix:GPR (match_operand:DSF 1 "register_operand" "")))]
+  "TARGET_HARD_FLOAT"
 {
-  operands[1] = force_reg (<MODE>mode, operands[1]);
-  emit_insn (gen_fix_trunc<mode>di2_bfp (operands[0], operands[1],
-      GEN_INT (5)));
+  emit_insn (gen_fix_trunc<DSF:mode><GPR:mode>2_bfp (operands[0], operands[1],
+             GEN_INT (5)));
   DONE;
 })
 
   "TARGET_HARD_FLOAT"
   "")
 
-;
-; fix_trunc(df|sf)si2 instruction pattern(s).
-;
-
-(define_expand "fix_trunc<mode>si2"
-  [(set (match_operand:SI 0 "register_operand" "")
-        (fix:SI (match_operand:DSF 1 "nonimmediate_operand" "")))]
-  "TARGET_HARD_FLOAT"
-{
-  operands[1] = force_reg (<MODE>mode, operands[1]);
-  emit_insn (gen_fix_trunc<mode>si2_bfp (operands[0], operands[1], GEN_INT (5)));
-  DONE;
-})
 
 ;
 ; float(si|di)(tf|df|sf|td|dd)2 instruction pattern(s).