summaryrefslogtreecommitdiff
path: root/gcc/config/arm/mmintrin.h
diff options
context:
space:
mode:
authorbje <bje@138bc75d-0d04-0410-961f-82ee72b054a4>2004-02-13 21:49:26 +0000
committerbje <bje@138bc75d-0d04-0410-961f-82ee72b054a4>2004-02-13 21:49:26 +0000
commit08476a09c229e17305b7e9b6e4f7e5fd8c423487 (patch)
tree9277bc43edbb9e20719242e6633ab7714ee72b3d /gcc/config/arm/mmintrin.h
parent4aa8866f7143a1cd115d7e4be7a10690af806a40 (diff)
downloadgcc-08476a09c229e17305b7e9b6e4f7e5fd8c423487.tar.gz
Two minor fixes.
* 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@77774 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/arm/mmintrin.h')
-rw-r--r--gcc/config/arm/mmintrin.h22
1 files changed, 11 insertions, 11 deletions
diff --git a/gcc/config/arm/mmintrin.h b/gcc/config/arm/mmintrin.h
index 4dc1d455ce7..131c434d37f 100644
--- a/gcc/config/arm/mmintrin.h
+++ b/gcc/config/arm/mmintrin.h
@@ -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;
}
}