spu.c (spu_init_libfuncs): Install SImode and DImode trapping arithmetic libfuncs.
authorUlrich Weigand <uweigand@de.ibm.com>
Mon, 7 Feb 2011 15:26:06 +0000 (15:26 +0000)
committerUlrich Weigand <uweigand@gcc.gnu.org>
Mon, 7 Feb 2011 15:26:06 +0000 (15:26 +0000)
* config/spu/spu.c (spu_init_libfuncs): Install SImode and
DImode trapping arithmetic libfuncs.

From-SVN: r169886

gcc/ChangeLog
gcc/config/spu/spu.c

index cc625d9..55c1643 100644 (file)
@@ -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
index 324ac4d..d80d86d 100644 (file)
@@ -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");