diff options
author | bje <bje@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-02-13 21:49:26 +0000 |
---|---|---|
committer | bje <bje@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-02-13 21:49:26 +0000 |
commit | 08476a09c229e17305b7e9b6e4f7e5fd8c423487 (patch) | |
tree | 9277bc43edbb9e20719242e6633ab7714ee72b3d /gcc/config/arm/mmintrin.h | |
parent | 4aa8866f7143a1cd115d7e4be7a10690af806a40 (diff) | |
download | gcc-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.h | 22 |
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; } } |