aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorUlrich Weigand <uweigand@de.ibm.com>2011-02-07 15:26:06 +0000
committerUlrich Weigand <uweigand@gcc.gnu.org>2011-02-07 15:26:06 +0000
commitb46ae6da882b09242d230d4ec532e534c9bd1323 (patch)
treeaf7b9171264ea2348c98bb7e94493f7ace185239 /gcc
parentc0aae19ce3ebff871fa2e611135353071aff4fca (diff)
downloadgcc-b46ae6da882b09242d230d4ec532e534c9bd1323.zip
gcc-b46ae6da882b09242d230d4ec532e534c9bd1323.tar.gz
gcc-b46ae6da882b09242d230d4ec532e534c9bd1323.tar.bz2
spu.c (spu_init_libfuncs): Install SImode and DImode trapping arithmetic libfuncs.
* config/spu/spu.c (spu_init_libfuncs): Install SImode and DImode trapping arithmetic libfuncs. From-SVN: r169886
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/spu/spu.c13
2 files changed, 18 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index cc625d9..55c1643 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2011-02-07 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
+
+ * config/spu/spu.c (spu_init_libfuncs): Install SImode and
+ DImode trapping arithmetic libfuncs.
+
2011-02-07 Richard Guenther <rguenther@suse.de>
PR tree-optimization/47621
diff --git a/gcc/config/spu/spu.c b/gcc/config/spu/spu.c
index 324ac4d..d80d86d 100644
--- a/gcc/config/spu/spu.c
+++ b/gcc/config/spu/spu.c
@@ -5641,6 +5641,19 @@ spu_init_libfuncs (void)
set_conv_libfunc (ufloat_optab, DFmode, SImode, "__float_unssidf");
set_conv_libfunc (ufloat_optab, DFmode, DImode, "__float_unsdidf");
+ set_optab_libfunc (addv_optab, SImode, "__addvsi3");
+ set_optab_libfunc (subv_optab, SImode, "__subvsi3");
+ set_optab_libfunc (smulv_optab, SImode, "__mulvsi3");
+ set_optab_libfunc (sdivv_optab, SImode, "__divvsi3");
+ set_optab_libfunc (negv_optab, SImode, "__negvsi2");
+ set_optab_libfunc (absv_optab, SImode, "__absvsi2");
+ set_optab_libfunc (addv_optab, DImode, "__addvdi3");
+ set_optab_libfunc (subv_optab, DImode, "__subvdi3");
+ set_optab_libfunc (smulv_optab, DImode, "__mulvdi3");
+ set_optab_libfunc (sdivv_optab, DImode, "__divvdi3");
+ set_optab_libfunc (negv_optab, DImode, "__negvdi2");
+ set_optab_libfunc (absv_optab, DImode, "__absvdi2");
+
set_optab_libfunc (smul_optab, TImode, "__multi3");
set_optab_libfunc (sdiv_optab, TImode, "__divti3");
set_optab_libfunc (smod_optab, TImode, "__modti3");