]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
Two minor fixes.
authorBen Elliston <bje@wasabisystems.com>
Fri, 13 Feb 2004 21:49:26 +0000 (21:49 +0000)
committerBen Elliston <bje@gcc.gnu.org>
Fri, 13 Feb 2004 21:49:26 +0000 (08:49 +1100)
* config/arm/mmintrin.h (_mm_setwcx): Reverse arguments in call to
__builtin_arm_setwcx ().
* config/arm/arm.c (arm_expand_builtin): Generate operands
correctly and reverse their order in call to gen_iwmmxt_tmcr ().
and:
* config/arm/arm.c (bdesc_2arg): Correct builtin names "wmulsh"
and "wmuluh" to "wmulsm" and "wmulum", respectively.
* config/arm/arm.h (enum arm_builtins): Rename enumerators to
ARM_BUILTIN_WMULSM and ARM_BUILTIN_WMULUM.
* config/arm/mmintrin.h (_mm_mulhi_pi16): Update intrinsic call.
(_mm_mulhi_pu16): Likewise.

From-SVN: r77774

gcc/ChangeLog
gcc/config/arm/arm.c
gcc/config/arm/arm.h
gcc/config/arm/mmintrin.h

index b3800835710f212225ba1d1a5587b0fbad6c372e..36d4f3350ff1aef71f7dccb927a3a5207d939945 100644 (file)
@@ -1,3 +1,19 @@
+2004-02-14  Ben Elliston  <bje@wasabisystems.com>
+
+       * config/arm/mmintrin.h (_mm_setwcx): Reverse arguments in call to
+       __builtin_arm_setwcx ().
+       * config/arm/arm.c (arm_expand_builtin): Generate operands
+       correctly and reverse their order in call to gen_iwmmxt_tmcr ().
+
+2004-02-14  Ben Elliston  <bje@wasabisystems.com>
+
+       * config/arm/arm.c (bdesc_2arg): Correct builtin names "wmulsh"
+       and "wmuluh" to "wmulsm" and "wmulum", respectively.
+       * config/arm/arm.h (enum arm_builtins): Rename enumerators to
+       ARM_BUILTIN_WMULSM and ARM_BUILTIN_WMULUM.
+       * config/arm/mmintrin.h (_mm_mulhi_pi16): Update intrinsic call.
+       (_mm_mulhi_pu16): Likewise.
+
 2004-02-13  Zack Weinberg  <zack@codesourcery.com>
 
        * xcoffout.c (xcoff_assign_fundamental_type_number): Check
index 67641bf3c75ec520d204e9ad7e17bd4511b01766..2ec011e90321fb106f2f5764eadab545b90d4f64 100644 (file)
@@ -11360,8 +11360,8 @@ static const struct builtin_description bdesc_2arg[] =
   IWMMXT_BUILTIN (ussubv4hi3, "wsubhus", WSUBUSH)
   IWMMXT_BUILTIN (ussubv2si3, "wsubwus", WSUBUSW)
   IWMMXT_BUILTIN (mulv4hi3, "wmulul", WMULUL)
-  IWMMXT_BUILTIN (smulv4hi3_highpart, "wmulsh", WMULSH)
-  IWMMXT_BUILTIN (umulv4hi3_highpart, "wmuluh", WMULUH)
+  IWMMXT_BUILTIN (smulv4hi3_highpart, "wmulsm", WMULSM)
+  IWMMXT_BUILTIN (umulv4hi3_highpart, "wmulum", WMULUM)
   IWMMXT_BUILTIN (eqv8qi3, "wcmpeqb", WCMPEQB)
   IWMMXT_BUILTIN (eqv4hi3, "wcmpeqh", WCMPEQH)
   IWMMXT_BUILTIN (eqv2si3, "wcmpeqw", WCMPEQW)
@@ -11991,9 +11991,9 @@ arm_expand_builtin (tree exp,
     case ARM_BUILTIN_SETWCX:
       arg0 = TREE_VALUE (arglist);
       arg1 = TREE_VALUE (TREE_CHAIN (arglist));
-      op0 = expand_expr (arg0, NULL_RTX, VOIDmode, 0);
-      op1 = force_reg (SImode, expand_expr (arg1, NULL_RTX, VOIDmode, 0));
-      emit_insn (gen_iwmmxt_tmcr (op0, op1));
+      op0 = force_reg (SImode, expand_expr (arg0, NULL_RTX, VOIDmode, 0));
+      op1 = expand_expr (arg1, NULL_RTX, VOIDmode, 0);
+      emit_insn (gen_iwmmxt_tmcr (op1, op0));
       return 0;
 
     case ARM_BUILTIN_GETWCX:
index 26c452690968b6c5db7c8effa43b1c5543a5f98c..3f082eabef0c8e57e360507959c104ca7b2773a4 100644 (file)
@@ -2971,8 +2971,8 @@ enum arm_builtins
   ARM_BUILTIN_WMINUH,
   ARM_BUILTIN_WMINUB,
 
-  ARM_BUILTIN_WMULUH,
-  ARM_BUILTIN_WMULSH,
+  ARM_BUILTIN_WMULUM,
+  ARM_BUILTIN_WMULSM,
   ARM_BUILTIN_WMULUL,
 
   ARM_BUILTIN_PSADBH,
index 4dc1d455ce75780d0cad956bdb404f7d9ec22f62..131c434d37f667da658ef11efbf5282d8052a852 100644 (file)
@@ -419,7 +419,7 @@ _mm_madd_pu16 (__m64 __m1, __m64 __m2)
 static __inline __m64
 _mm_mulhi_pi16 (__m64 __m1, __m64 __m2)
 {
-  return (__m64) __builtin_arm_wmulsh ((__v4hi)__m1, (__v4hi)__m2);
+  return (__m64) __builtin_arm_wmulsm ((__v4hi)__m1, (__v4hi)__m2);
 }
 
 /* Multiply four signed 16-bit values in M1 by four signed 16-bit values in
@@ -427,7 +427,7 @@ _mm_mulhi_pi16 (__m64 __m1, __m64 __m2)
 static __inline __m64
 _mm_mulhi_pu16 (__m64 __m1, __m64 __m2)
 {
-  return (__m64) __builtin_arm_wmuluh ((__v4hi)__m1, (__v4hi)__m2);
+  return (__m64) __builtin_arm_wmulum ((__v4hi)__m1, (__v4hi)__m2);
 }
 
 /* Multiply four 16-bit values in M1 by four 16-bit values in M2 and produce
@@ -986,18 +986,18 @@ _mm_setzero_si64 (void)
    the rest are reserved.  */
 
 static __inline void
-_mm_setwcx (const int __regno, const int __value)
+_mm_setwcx (const int __value, const int __regno)
 {
   switch (__regno)
     {
-    case 0:  __builtin_arm_setwcx (0, __value); break;
-    case 1:  __builtin_arm_setwcx (1, __value); break;
-    case 2:  __builtin_arm_setwcx (2, __value); break;
-    case 3:  __builtin_arm_setwcx (3, __value); break;
-    case 8:  __builtin_arm_setwcx (8, __value); break;
-    case 9:  __builtin_arm_setwcx (9, __value); break;
-    case 10: __builtin_arm_setwcx (10, __value); break;
-    case 11: __builtin_arm_setwcx (11, __value); break;
+    case 0:  __builtin_arm_setwcx (__value, 0); break;
+    case 1:  __builtin_arm_setwcx (__value, 1); break;
+    case 2:  __builtin_arm_setwcx (__value, 2); break;
+    case 3:  __builtin_arm_setwcx (__value, 3); break;
+    case 8:  __builtin_arm_setwcx (__value, 8); break;
+    case 9:  __builtin_arm_setwcx (__value, 9); break;
+    case 10: __builtin_arm_setwcx (__value, 10); break;
+    case 11: __builtin_arm_setwcx (__value, 11); break;
     default: break;
     }
 }