]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
aix.h (TARGET_ALTIVEC): Define to 0.
authorDavid Edelsohn <edelsohn@gnu.org>
Thu, 8 Aug 2002 01:23:01 +0000 (01:23 +0000)
committerDavid Edelsohn <dje@gcc.gnu.org>
Thu, 8 Aug 2002 01:23:01 +0000 (21:23 -0400)
        * config/rs6000/aix.h (TARGET_ALTIVEC): Define to 0.
        (TARGET_ALTIVEC_ABI): Same.
        (TARGET_ALTIVEC_VRSAVE): Same.

        * config/rs6000/rs6000.c (rs6000_expand_ternop_builtin): Check
        icode not CODE_FOR_nothing.  Change switch to if.

From-SVN: r56115

gcc/ChangeLog
gcc/config/rs6000/aix.h
gcc/config/rs6000/rs6000.c

index 65dd603852d223604d409112a909df99b4cca795..18ffc97cba6a9ac9c4ac73f6d1a6c0dd31113f56 100644 (file)
@@ -1,3 +1,12 @@
+2002-08-08  David Edelsohn  <edelsohn@gnu.org>
+
+       * config/rs6000/aix.h (TARGET_ALTIVEC): Define to 0.
+       (TARGET_ALTIVEC_ABI): Same.
+       (TARGET_ALTIVEC_VRSAVE): Same.
+
+       * config/rs6000/rs6000.c (rs6000_expand_ternop_builtin): Check
+       icode not CODE_FOR_nothing.  Change switch to if.
+
 2002-08-08  Alan Modra  <amodra@bigpond.net.au>
 
        * config/rs6000/rs6000.h (ASM_CPU_SPEC): Pass -mpower4 when cpu=power4.
index b639025c9cbd9dabbe752902f4ab279389289362..592ca555de29d5099fcb2a98c2f74f68c02dc9c8 100644 (file)
@@ -21,8 +21,25 @@ Boston, MA 02111-1307, USA.  */
 
 /* Yes!  We are AIX!  */
 #define DEFAULT_ABI ABI_AIX
-#undef TARGET_AIX
+#undef  TARGET_AIX
 #define TARGET_AIX 1
+
+/* AIX always has a TOC.  */
+#define TARGET_NO_TOC 0
+#define TARGET_TOC 1
+#define FIXED_R2 1
+
+/* AIX allows r13 to be used in 32-bit mode.  */
+#define FIXED_R13 0
+
+/* AIX does not support Altivec.  */
+#undef  TARGET_ALTIVEC
+#define TARGET_ALTIVEC 0
+#undef  TARGET_ALTIVEC_ABI
+#define TARGET_ALTIVEC_ABI 0
+#undef  TARGET_ALTIVEC_VRSAVE
+#define TARGET_ALTIVEC_VRSAVE 0
+
 /* The AIX linker will discard static constructors in object files before
    collect has a chance to see them, so scan the object files directly.  */
 #define COLLECT_EXPORT_LIST
@@ -122,8 +139,6 @@ Boston, MA 02111-1307, USA.  */
    ? MAX (MAX ((COMPUTED), (SPECIFIED)), 64)           \
    : MAX ((COMPUTED), (SPECIFIED)))
 
-
-
 /* Indicate that jump tables go in the text section.  */
 
 #define JUMP_TABLES_IN_TEXT_SECTION 1
@@ -177,14 +192,6 @@ Boston, MA 02111-1307, USA.  */
       }                                                                        \
   } while (0)
 
-/* AIX always has a TOC.  */
-#define TARGET_NO_TOC          0
-#define        TARGET_TOC              1
-
-#define FIXED_R2 1
-/* AIX allows r13 to be used.  */
-#define FIXED_R13 0
-
 /* __throw will restore its own return address to be the same as the
    return address of the function that the throw is being made to.
    This is unfortunate, because we want to check the original
index 382f47bc22418fc3503037eca4969cf833240d46..46b9161e5c4689acc0f0ef89458f43f2fa092ea7 100644 (file)
@@ -4368,28 +4368,28 @@ rs6000_expand_ternop_builtin (icode, arglist, target)
   enum machine_mode mode1 = insn_data[icode].operand[2].mode;
   enum machine_mode mode2 = insn_data[icode].operand[3].mode;
 
+  if (icode == CODE_FOR_nothing)
+    /* Builtin not supported on this processor.  */
+    return 0;
+
   /* If we got invalid arguments bail out before generating bad rtl.  */
   if (arg0 == error_mark_node
       || arg1 == error_mark_node
       || arg2 == error_mark_node)
     return const0_rtx;
 
-  switch (icode)
+  if (icode == CODE_FOR_altivec_vsldoi_4sf
+      || icode == CODE_FOR_altivec_vsldoi_4si
+      || icode == CODE_FOR_altivec_vsldoi_8hi
+      || icode == CODE_FOR_altivec_vsldoi_16qi)
     {
       /* Only allow 4-bit unsigned literals.  */
-    case CODE_FOR_altivec_vsldoi_4sf:
-    case CODE_FOR_altivec_vsldoi_4si:
-    case CODE_FOR_altivec_vsldoi_8hi:
-    case CODE_FOR_altivec_vsldoi_16qi:
       if (TREE_CODE (arg2) != INTEGER_CST
          || TREE_INT_CST_LOW (arg2) & ~0xf)
        {
          error ("argument 3 must be a 4-bit unsigned literal");
          return const0_rtx;
        }
-      break;
-    default:
-      break;
     }
 
   if (target == 0