Hi,

the attached patch fixes several dfp testsuite fails with -march=z196
-m31:

Running target unix
FAIL: c-c++-common/dfp/convert-int-max.c -std=gnu++98 (internal compiler error)
FAIL: c-c++-common/dfp/convert-int-max.c -std=gnu++98 (test for excess errors)
WARNING: c-c++-common/dfp/convert-int-max.c -std=gnu++98 compilation failed to 
produce executable
FAIL: c-c++-common/dfp/convert-int-max.c -std=gnu++11 (internal compiler error)
FAIL: c-c++-common/dfp/convert-int-max.c -std=gnu++11 (test for excess errors)
WARNING: c-c++-common/dfp/convert-int-max.c -std=gnu++11 compilation failed to 
produce executable
FAIL: c-c++-common/dfp/convert-int.c -std=gnu++98 (internal compiler error)
FAIL: c-c++-common/dfp/convert-int.c -std=gnu++98 (test for excess errors)
WARNING: c-c++-common/dfp/convert-int.c -std=gnu++98 compilation failed to 
produce executable
FAIL: c-c++-common/dfp/convert-int.c -std=gnu++11 (internal compiler error)
FAIL: c-c++-common/dfp/convert-int.c -std=gnu++11 (test for excess errors)
WARNING: c-c++-common/dfp/convert-int.c -std=gnu++11 compilation failed to 
produce executable

Applied to 4.6 and mainline.

Bye,

-Andreas-


2012-02-21  Andreas Krebbel  <andreas.kreb...@de.ibm.com>

        * config/s390/s390.md ("fixuns_trunc<mode>si2"): Replace
        TARGET_HARD_FLOAT with TARGET_HARD_DFP.


---
 gcc/config/s390/s390.md |    2 !!
 1 file changed, 2 modifications(!)

Index: gcc/config/s390/s390.md
===================================================================
*** gcc/config/s390/s390.md.orig
--- gcc/config/s390/s390.md
***************
*** 4012,4018 ****
          (unsigned_fix:SI (match_operand:DFP 1 "register_operand" "")))
       (unspec:SI [(const_int 5)] UNSPEC_ROUND)
       (clobber (reg:CC CC_REGNUM))])]
!   "TARGET_Z196 && TARGET_HARD_FLOAT"
    "")
  
  ; fixuns_trunc(tf|df|sf|td|dd)(di|si)2 instruction patterns.
--- 4012,4018 ----
          (unsigned_fix:SI (match_operand:DFP 1 "register_operand" "")))
       (unspec:SI [(const_int 5)] UNSPEC_ROUND)
       (clobber (reg:CC CC_REGNUM))])]
!   "TARGET_Z196 && TARGET_HARD_DFP"
    "")
  
  ; fixuns_trunc(tf|df|sf|td|dd)(di|si)2 instruction patterns.

Reply via email to