Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
No build reason found for images:local
home:lafenghu
libffi43
gcc-power7-sles-11sp1-nvl572812.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File gcc-power7-sles-11sp1-nvl572812.patch of Package libffi43
[gcc] 2010-01-14 Michael Meissner <meissner@linux.vnet.ibm.com> PR target/42747 * config/rs6000/rs6000.md (sqrtdf2): Split into expander and insn to allow generation of the xssqrtdp instruction on power7. (sqrtdf2_fpr): Ditto. [gcc/testsuite] 2010-01-14 Michael Meissner <meissner@linux.vnet.ibm.com> * gcc.target/powerpc/pr42747.c: New file. Index: gcc/config/rs6000/rs6000.md =================================================================== --- gcc/config/rs6000/rs6000.md (revision 155910) +++ gcc/config/rs6000/rs6000.md (working copy) @@ -6310,7 +6310,14 @@ (define_insn "*fnmsubdf4_fpr_2" [(set_attr "type" "dmul") (set_attr "fp_type" "fp_maddsub_d")]) -(define_insn "sqrtdf2" +(define_expand "sqrtdf2" + [(set (match_operand:DF 0 "gpc_reg_operand" "") + (sqrt:DF (match_operand:DF 1 "gpc_reg_operand" "")))] + "(TARGET_PPC_GPOPT || TARGET_POWER2) && TARGET_HARD_FLOAT && TARGET_FPRS + && TARGET_DOUBLE_FLOAT" + "") + +(define_insn "*sqrtdf2_fpr" [(set (match_operand:DF 0 "gpc_reg_operand" "=d") (sqrt:DF (match_operand:DF 1 "gpc_reg_operand" "d")))] "(TARGET_PPC_GPOPT || TARGET_POWER2) && TARGET_HARD_FLOAT && TARGET_FPRS Index: gcc/testsuite/gcc.target/powerpc/pr42747.c =================================================================== --- gcc/testsuite/gcc.target/powerpc/pr42747.c (revision 0) +++ gcc/testsuite/gcc.target/powerpc/pr42747.c (revision 0) @@ -0,0 +1,8 @@ +/* { dg-do compile { target { powerpc*-*-* } } } */ +/* { dg-skip-if "" { powerpc*-*-darwin* } { "*" } { "" } } */ +/* { dg-require-effective-target powerpc_vsx_ok } */ +/* { dg-options "-O2 -mcpu=power7 -ffast-math" } */ + +double foo (double x) { return __builtin_sqrt (x); } + +/* { dg-final { scan-assembler "xssqrtdp" } } */
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor