Author: ctopper Date: Sun May 15 15:10:03 2016 New Revision: 269612 URL: http://llvm.org/viewvc/llvm-project?rev=269612&view=rev Log: [AVX512] Move unary negations to the left side of typecasts to specific vector type. The __m128/__m256/__m512 types should be treated more opaquely and not have any operations performed on them.
Modified: cfe/trunk/lib/Headers/avx512fintrin.h Modified: cfe/trunk/lib/Headers/avx512fintrin.h URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Headers/avx512fintrin.h?rev=269612&r1=269611&r2=269612&view=diff ============================================================================== --- cfe/trunk/lib/Headers/avx512fintrin.h (original) +++ cfe/trunk/lib/Headers/avx512fintrin.h Sun May 15 15:10:03 2016 @@ -7823,7 +7823,7 @@ static __inline__ __m128 __DEFAULT_FN_AT _mm_mask_fmsub_ss (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B) { return (__m128) __builtin_ia32_vfmaddss3_mask ((__v4sf) __A, - (__v4sf) -(__B), + -(__v4sf) __B, (__v4sf) __W, (__mmask8) __U, _MM_FROUND_CUR_DIRECTION); @@ -7831,7 +7831,7 @@ _mm_mask_fmsub_ss (__m128 __W, __mmask8 #define _mm_mask_fmsub_round_ss( __W, __U, __A, __B, __R) __extension__ ({\ __builtin_ia32_vfmaddss3_mask ((__v4sf) __A,\ - (__v4sf) -(__B),\ + -(__v4sf) (__B),\ (__v4sf) __W,\ (__mmask8) __U,\ __R);\ @@ -7842,7 +7842,7 @@ _mm_maskz_fmsub_ss (__mmask8 __U, __m128 { return (__m128) __builtin_ia32_vfmaddss3_maskz ((__v4sf) __A, (__v4sf) __B, - (__v4sf) -(__C), + -(__v4sf) __C, (__mmask8) __U, _MM_FROUND_CUR_DIRECTION); } @@ -7850,7 +7850,7 @@ _mm_maskz_fmsub_ss (__mmask8 __U, __m128 #define _mm_maskz_fmsub_round_ss( __U, __A, __B, __C, __R) __extension__ ({\ __builtin_ia32_vfmaddss3_maskz ((__v4sf) __A,\ (__v4sf) __B,\ - (__v4sf) -(__C),\ + -(__v4sf) (__C),\ (__mmask8) __U,\ __R);\ }) @@ -7860,7 +7860,7 @@ _mm_mask3_fmsub_ss (__m128 __W, __m128 _ { return (__m128) __builtin_ia32_vfmaddss3_mask3 ((__v4sf) __W, (__v4sf) __X, - (__v4sf) -(__Y), + -(__v4sf) __Y, (__mmask8) __U, _MM_FROUND_CUR_DIRECTION); } @@ -7868,7 +7868,7 @@ _mm_mask3_fmsub_ss (__m128 __W, __m128 _ #define _mm_mask3_fmsub_round_ss( __W, __X, __Y, __U, __R) __extension__ ({\ __builtin_ia32_vfmaddss3_mask3 ((__v4sf) __W,\ (__v4sf) __X,\ - (__v4sf) -(__Y),\ + -(__v4sf) (__Y),\ (__mmask8) __U,\ __R);\ }) @@ -7876,7 +7876,7 @@ __builtin_ia32_vfmaddss3_mask3 ((__v4sf) static __inline__ __m128 __DEFAULT_FN_ATTRS _mm_mask_fnmadd_ss (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B) { - return (__m128) __builtin_ia32_vfmaddss3_mask ((__v4sf) -(__A), + return (__m128) __builtin_ia32_vfmaddss3_mask (-(__v4sf) __A, (__v4sf) __B, (__v4sf) __W, (__mmask8) __U, @@ -7884,7 +7884,7 @@ _mm_mask_fnmadd_ss (__m128 __W, __mmask8 } #define _mm_mask_fnmadd_round_ss( __W, __U, __A, __B, __R) __extension__ ({\ -__builtin_ia32_vfmaddss3_mask ((__v4sf) -(__A),\ +__builtin_ia32_vfmaddss3_mask (-(__v4sf) (__A),\ (__v4sf) __B,\ (__v4sf) __W,\ (__mmask8) __U,\ @@ -7894,7 +7894,7 @@ __builtin_ia32_vfmaddss3_mask ((__v4sf) static __inline__ __m128 __DEFAULT_FN_ATTRS _mm_maskz_fnmadd_ss (__mmask8 __U, __m128 __A, __m128 __B, __m128 __C) { - return (__m128) __builtin_ia32_vfmaddss3_maskz ((__v4sf) -(__A), + return (__m128) __builtin_ia32_vfmaddss3_maskz (-(__v4sf) __A, (__v4sf) __B, (__v4sf) __C, (__mmask8) __U, @@ -7902,7 +7902,7 @@ _mm_maskz_fnmadd_ss (__mmask8 __U, __m12 } #define _mm_maskz_fnmadd_round_ss( __U, __A, __B, __C, __R) __extension__ ({\ -__builtin_ia32_vfmaddss3_maskz ((__v4sf) -(__A),\ +__builtin_ia32_vfmaddss3_maskz (-(__v4sf) (__A),\ (__v4sf) __B,\ (__v4sf) __C,\ (__mmask8) __U,\ @@ -7912,7 +7912,7 @@ __builtin_ia32_vfmaddss3_maskz ((__v4sf) static __inline__ __m128 __DEFAULT_FN_ATTRS _mm_mask3_fnmadd_ss (__m128 __W, __m128 __X, __m128 __Y, __mmask8 __U) { - return (__m128) __builtin_ia32_vfmaddss3_mask3 ((__v4sf) -(__W), + return (__m128) __builtin_ia32_vfmaddss3_mask3 (-(__v4sf) __W, (__v4sf) __X, (__v4sf) __Y, (__mmask8) __U, @@ -7920,7 +7920,7 @@ _mm_mask3_fnmadd_ss (__m128 __W, __m128 } #define _mm_mask3_fnmadd_round_ss( __W, __X, __Y, __U, __R) __extension__({\ -__builtin_ia32_vfmaddss3_mask3 ((__v4sf) -(__W),\ +__builtin_ia32_vfmaddss3_mask3 (-(__v4sf) (__W),\ (__v4sf) __X,\ (__v4sf) __Y,\ (__mmask8) __U,\ @@ -7930,16 +7930,16 @@ __builtin_ia32_vfmaddss3_mask3 ((__v4sf) static __inline__ __m128 __DEFAULT_FN_ATTRS _mm_mask_fnmsub_ss (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B) { - return (__m128) __builtin_ia32_vfmaddss3_mask ((__v4sf) -(__A), - (__v4sf) -(__B), + return (__m128) __builtin_ia32_vfmaddss3_mask (-(__v4sf) __A, + -(__v4sf) __B, (__v4sf) __W, (__mmask8) __U, _MM_FROUND_CUR_DIRECTION); } #define _mm_mask_fnmsub_round_ss( __W, __U, __A, __B, __R) __extension__ ({\ -__builtin_ia32_vfmaddss3_mask ((__v4sf) -(__A),\ - (__v4sf) -(__B),\ +__builtin_ia32_vfmaddss3_mask (-(__v4sf) (__A),\ + -(__v4sf) (__B),\ (__v4sf) __W,\ (__mmask8) __U,\ __R);\ @@ -7948,17 +7948,17 @@ __builtin_ia32_vfmaddss3_mask ((__v4sf) static __inline__ __m128 __DEFAULT_FN_ATTRS _mm_maskz_fnmsub_ss (__mmask8 __U, __m128 __A, __m128 __B, __m128 __C) { - return (__m128) __builtin_ia32_vfmaddss3_maskz ((__v4sf) -(__A), + return (__m128) __builtin_ia32_vfmaddss3_maskz (-(__v4sf) __A, (__v4sf) __B, - (__v4sf) -(__C), + -(__v4sf) __C, (__mmask8) __U, _MM_FROUND_CUR_DIRECTION); } #define _mm_maskz_fnmsub_round_ss( __U, __A, __B, __C, __R) __extension__ ({\ -__builtin_ia32_vfmaddss3_maskz((__v4sf) -(__A),\ +__builtin_ia32_vfmaddss3_maskz(-(__v4sf) (__A),\ (__v4sf) __B,\ - (__v4sf) -(__C),\ + -(__v4sf) (__C),\ (__mmask8) __U,\ _MM_FROUND_CUR_DIRECTION);\ }) @@ -7966,17 +7966,17 @@ __builtin_ia32_vfmaddss3_maskz((__v4sf) static __inline__ __m128 __DEFAULT_FN_ATTRS _mm_mask3_fnmsub_ss (__m128 __W, __m128 __X, __m128 __Y, __mmask8 __U) { - return (__m128) __builtin_ia32_vfmaddss3_mask3 ((__v4sf) -(__W), + return (__m128) __builtin_ia32_vfmaddss3_mask3 (-(__v4sf) __W, (__v4sf) __X, - (__v4sf) -(__Y), + -(__v4sf) __Y, (__mmask8) __U, _MM_FROUND_CUR_DIRECTION); } #define _mm_mask3_fnmsub_round_ss( __W, __X, __Y, __U, __R) __extension__({\ -__builtin_ia32_vfmaddss3_mask3 ((__v4sf) -(__W),\ +__builtin_ia32_vfmaddss3_mask3 (-(__v4sf) (__W),\ (__v4sf) __X,\ - (__v4sf) -(__Y),\ + -(__v4sf) (__Y),\ (__mmask8) __U,\ __R);\ }) @@ -8039,7 +8039,7 @@ static __inline__ __m128 __DEFAULT_FN_AT _mm_mask_fmsub_sd (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B) { return (__m128) __builtin_ia32_vfmaddsd3_mask ( (__v2df) __A, - (__v2df) -(__B), + -(__v2df) __B, (__v2df) __W, (__mmask8) __U, _MM_FROUND_CUR_DIRECTION); @@ -8047,7 +8047,7 @@ _mm_mask_fmsub_sd (__m128 __W, __mmask8 #define _mm_mask_fmsub_round_sd( __W, __U, __A, __B, __R) __extension__ ({\ __builtin_ia32_vfmaddsd3_mask ( (__v2df) __A,\ - (__v2df) -(__B),\ + -(__v2df) (__B),\ (__v2df) __W,\ (__mmask8) __U,\ __R);\ @@ -8058,7 +8058,7 @@ _mm_maskz_fmsub_sd (__mmask8 __U, __m128 { return (__m128) __builtin_ia32_vfmaddsd3_maskz ( (__v2df) __A, (__v2df) __B, - (__v2df) -(__C), + -(__v2df) __C, (__mmask8) __U, _MM_FROUND_CUR_DIRECTION); } @@ -8066,7 +8066,7 @@ _mm_maskz_fmsub_sd (__mmask8 __U, __m128 #define _mm_maskz_fmsub_round_sd( __U, __A, __B, __C, __R) __extension__ ({\ __builtin_ia32_vfmaddsd3_maskz ( (__v2df) __A,\ (__v2df) __B,\ - (__v2df) -(__C),\ + -(__v2df) (__C),\ (__mmask8) __U,\ __R);\ }) @@ -8076,7 +8076,7 @@ _mm_mask3_fmsub_sd (__m128 __W, __m128 _ { return (__m128) __builtin_ia32_vfmaddsd3_mask3 ((__v2df) __W, (__v2df) __X, - (__v2df) -(__Y), + -(__v2df) __Y, (__mmask8) __U, _MM_FROUND_CUR_DIRECTION); } @@ -8084,14 +8084,14 @@ _mm_mask3_fmsub_sd (__m128 __W, __m128 _ #define _mm_mask3_fmsub_round_sd( __W, __X, __Y, __U, __R) __extension__ ({\ __builtin_ia32_vfmaddsd3_mask3 ((__v2df) __W,\ (__v2df) __X,\ - (__v2df) -(__Y),\ + -(__v2df) (__Y),\ (__mmask8) __U, __R);\ }) static __inline__ __m128 __DEFAULT_FN_ATTRS _mm_mask_fnmadd_sd (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B) { - return (__m128) __builtin_ia32_vfmaddsd3_mask ( (__v2df) -(__A), + return (__m128) __builtin_ia32_vfmaddsd3_mask ( -(__v2df) __A, (__v2df) __B, (__v2df) __W, (__mmask8) __U, @@ -8099,7 +8099,7 @@ _mm_mask_fnmadd_sd (__m128 __W, __mmask8 } #define _mm_mask_fnmadd_round_sd( __W, __U, __A, __B, __R) __extension__ ({\ -__builtin_ia32_vfmaddsd3_mask ( (__v2df) -(__A),\ +__builtin_ia32_vfmaddsd3_mask ( -(__v2df) (__A),\ (__v2df) __B,\ (__v2df) __W,\ (__mmask8) __U,\ @@ -8109,7 +8109,7 @@ __builtin_ia32_vfmaddsd3_mask ( (__v2df) static __inline__ __m128 __DEFAULT_FN_ATTRS _mm_maskz_fnmadd_sd (__mmask8 __U, __m128 __A, __m128 __B, __m128 __C) { - return (__m128) __builtin_ia32_vfmaddsd3_maskz ( (__v2df) -(__A), + return (__m128) __builtin_ia32_vfmaddsd3_maskz ( -(__v2df) __A, (__v2df) __B, (__v2df) __C, (__mmask8) __U, @@ -8117,7 +8117,7 @@ _mm_maskz_fnmadd_sd (__mmask8 __U, __m12 } #define _mm_maskz_fnmadd_round_sd( __U, __A, __B, __C, __R) __extension__ ({\ -__builtin_ia32_vfmaddsd3_maskz ( (__v2df) -(__A),\ +__builtin_ia32_vfmaddsd3_maskz ( -(__v2df) (__A),\ (__v2df) __B,\ (__v2df) __C,\ (__mmask8) __U,\ @@ -8127,7 +8127,7 @@ __builtin_ia32_vfmaddsd3_maskz ( (__v2df static __inline__ __m128 __DEFAULT_FN_ATTRS _mm_mask3_fnmadd_sd (__m128 __W, __m128 __X, __m128 __Y, __mmask8 __U) { - return (__m128) __builtin_ia32_vfmaddsd3_mask3 ((__v2df) -(__W), + return (__m128) __builtin_ia32_vfmaddsd3_mask3 (-(__v2df) __W, (__v2df) __X, (__v2df) __Y, (__mmask8) __U, @@ -8135,7 +8135,7 @@ _mm_mask3_fnmadd_sd (__m128 __W, __m128 } #define _mm_mask3_fnmadd_round_sd( __W, __X, __Y, __U, __R) __extension__({\ -__builtin_ia32_vfmaddsd3_mask3 ((__v2df) -(__W),\ +__builtin_ia32_vfmaddsd3_mask3 (-(__v2df) (__W),\ (__v2df) __X,\ (__v2df) __Y,\ (__mmask8) __U,\ @@ -8145,16 +8145,16 @@ __builtin_ia32_vfmaddsd3_mask3 ((__v2df) static __inline__ __m128 __DEFAULT_FN_ATTRS _mm_mask_fnmsub_sd (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B) { - return (__m128) __builtin_ia32_vfmaddsd3_mask ( (__v2df) -(__A), - (__v2df) -(__B), + return (__m128) __builtin_ia32_vfmaddsd3_mask ( -(__v2df) __A, + -(__v2df) __B, (__v2df) __W, (__mmask8) __U, _MM_FROUND_CUR_DIRECTION); } #define _mm_mask_fnmsub_round_sd( __W, __U, __A, __B, __R) __extension__ ({\ -__builtin_ia32_vfmaddsd3_mask ( (__v2df) -(__A),\ - (__v2df) -(__B),\ +__builtin_ia32_vfmaddsd3_mask ( -(__v2df) (__A),\ + -(__v2df) (__B),\ (__v2df) __W,\ (__mmask8) __U,\ __R);\ @@ -8163,17 +8163,17 @@ __builtin_ia32_vfmaddsd3_mask ( (__v2df) static __inline__ __m128 __DEFAULT_FN_ATTRS _mm_maskz_fnmsub_sd (__mmask8 __U, __m128 __A, __m128 __B, __m128 __C) { - return (__m128) __builtin_ia32_vfmaddsd3_maskz ( (__v2df) -(__A), + return (__m128) __builtin_ia32_vfmaddsd3_maskz ( -(__v2df) __A, (__v2df) __B, - (__v2df) -(__C), + -(__v2df) __C, (__mmask8) __U, _MM_FROUND_CUR_DIRECTION); } #define _mm_maskz_fnmsub_round_sd( __U, __A, __B, __C, __R) __extension__ ({\ -__builtin_ia32_vfmaddsd3_maskz( (__v2df) -(__A),\ +__builtin_ia32_vfmaddsd3_maskz( -(__v2df) (__A),\ (__v2df) __B,\ - (__v2df) -(__C),\ + -(__v2df) (__C),\ (__mmask8) __U,\ _MM_FROUND_CUR_DIRECTION);\ }) @@ -8181,17 +8181,17 @@ __builtin_ia32_vfmaddsd3_maskz( (__v2df) static __inline__ __m128 __DEFAULT_FN_ATTRS _mm_mask3_fnmsub_sd (__m128 __W, __m128 __X, __m128 __Y, __mmask8 __U) { - return (__m128) __builtin_ia32_vfmaddsd3_mask3 ((__v2df) -(__W), + return (__m128) __builtin_ia32_vfmaddsd3_mask3 (-(__v2df) (__W), (__v2df) __X, - (__v2df) -(__Y), + -(__v2df) (__Y), (__mmask8) __U, _MM_FROUND_CUR_DIRECTION); } #define _mm_mask3_fnmsub_round_sd( __W, __X, __Y, __U, __R) __extension__({\ -__builtin_ia32_vfmaddsd3_mask3 ((__v2df) -(__W),\ +__builtin_ia32_vfmaddsd3_mask3 (-(__v2df) (__W),\ (__v2df) __X,\ - (__v2df) -(__Y),\ + -(__v2df) (__Y),\ (__mmask8) __U,\ __R);\ }) _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits