__int64
değerini SSE ile kullanmak için __m64
değerine dönüştürmenin uygun yolu nedir?'uzun uzun' (veya __int64) __m64'a dönüştürme
6
A
cevap
6
gcc ile sadece _mm_set_pi64x
kullanabilirsiniz: tüm derleyiciler _mm_set_pi64x
mmintrin.h
tanımlanan sahip
#include <mmintrin.h>
__int64 i = 0x123456LL;
__m64 v = _mm_set_pi64x(i);
Not. gcc için böyle tanımladı: Eğer örneğin tercih ediyorsanız muhtemelen sadece döküm kullanabilirsiniz düşündürmektedir
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_set_pi64x (long long __i)
{
return (__m64) __i;
}
Başarısız
__int64 i = 0x123456LL;
__m64 v = (__m64)i;
ki böyle sadece bir birlik kullanabilir ve içsel kendi uygulayabileceğiniz son çare olarak, Visual C/C++ gibi bir aşırı seçici derleyici ile takılıp:
#ifdef _MSC_VER // if Visual C/C++
__inline __m64 _mm_set_pi64x (const __int64 i) {
union {
__int64 i;
__m64 v;
} u;
u.i = i;
return u.v;
}
#endif
Kesinlikle bunun bir konuşma olduğunu ve bir başka birinden okuduğumuzdan, bunun bu örnekte çalışması gerektiğinden, bunun UB olduğunu unutmayın.
İlgili konular
- 1. Dönüştürme IPv6, uzun ve uzun IPv6 için
- 2. imzasız uzun uzun VS imzasız uzun uzun int
- 3. Java'da uzun [64] bayt [512] 'ya dönüştürme?
- 4. Tamsayı Lat uzun coğrafi konuma dönüştürme
- 5. Dizge, MVC'de uzun tamsayıya dönüştürme 4
- 6. C++ 'uzun' çiftini '1' - 'uzun' için '1' 'uzun' için '' dönüştüremiyor '' uzun
- 7. Neden common_type <uzun, imzasız uzun> :: tip = uzun uzun değil?
- 8. Uzun düğmesine
- 9. uzun tamsayı okuyucular
- 10. Çöp değeri uzun uzun veri türü
- 11. Uzun ve uzun getiriler bölünüyor 0
- 12. Google Maps API - En uzun/uzun
- 13. C++ uzun zamandır taşan uzun süre önce
- 14. İki nokta (veya uzun), taşma olmadan, 0
- 15. Raylar: Uzun Yoklama Uygulamaları
- 16. Neden Stream.Position uzun bir
- 17. HTML Tablo uzun metin
- 18. Yeniden yapılandırma amacıyla uzun bir iki int dönüştürme
- 19. r dönüştürme veri kümesinden uzun ile geniş arası
- 20. Operatör << Uzun ve uzun tip işlenenler için uygulanamaz
- 21. 64-bit C++ 'da uzun boylu (uzun) C++
- 22. uzun uzun 8 bayt, ancak tamsayı taşımı alıyorum?
- 23. Java uzun bir iki iletiyi depolamak için uzun bir
- 24. Çok Uzun Python Bildirimi
- 25. Vim en uzun çizgi?
- 26. En Uzun Ortak Altdizi
- 27. Swift'de uzun basın nasıl?
- 28. Android tuşa uzun basma
- 29. Uzun dize IE
- 30. Uzun basın Android
Huh? https://www.google.com/search?q=_mm_set_pi64 – Mehrdad
'mmintrin.h' –
http://pastebin.com/4bwAbbLZ? – Mehrdad