विभिन्न अंतर्निहित हैं क्योंकि वे विभिन्न निर्देशों से मेल खाते हैं।
अलग-अलग लोड निर्देश हैं क्योंकि इंटेल एक प्रोसेसर को डिजाइन करने की आजादी को बनाए रखना चाहता है जिस पर सिंगल-प्रेसिजन वैक्टर या इंटीजर वैक्टर की तुलना में डबल-परिशुद्धता वैक्टरों का समर्थन किया जाता है, या विभिन्न निष्पादन इकाइयों का उपयोग करते हैं। इनमें से कोई भी अतिरिक्त विलंबता जोड़ सकता है यदि निर्दिष्ट करने का कोई तरीका नहीं है कि डेटा उचित रजिस्टर फ़ाइल या अग्रेषण नेटवर्क में लोड किया जाना चाहिए।
इसके बारे में सोचने का एक तरीका यह है कि विभिन्न निर्देश "एक ही चीज़" करते हैं, लेकिन अतिरिक्त रूप से प्रोसेसर को संकेत देते हैं कि यह बताए जा रहे डेटा को भविष्य के निर्देशों द्वारा कैसे उपयोग किया जाएगा। यह प्रोसेसर को यह सुनिश्चित करने में मदद कर सकता है कि डेटा यथासंभव कुशलतापूर्वक उपयोग करने के लिए सही जगह पर है, या इसे प्रोसेसर द्वारा अनदेखा किया जा सकता है।
ध्यान दें कि यह केवल एक काल्पनिक नहीं है। ऐसे प्रोसेसर मौजूद हैं जिन पर एक फ्लोटिंग-पॉइंट ऑपरेशन द्वारा उपभोग किए गए डेटा को लोड करने के लिए एक पूर्णांक वेक्टर लोड (MOVDQA) का उपयोग करने के लिए फ़्लोटिंग-पॉइंट लोड (और इसके विपरीत) के लिए डेटा प्राप्त करने के लिए फ़्लोटिंग-पॉइंट लोड का उपयोग करने से अधिक समय की आवश्यकता होती है। । इस विषय पर अधिक जानकारी के लिए इंटेल ऑप्टिमाइज़ेशन मैनुअल, या एग्नेर फॉग के नोट देखें। उस लोड का उपयोग करें जो भविष्य में ऐसे प्रदर्शन खतरों के जोखिम से बचने के लिए डेटा का उपयोग कैसे करेगा।
स्रोत
2012-01-13 19:33:43
'_mm_load_pd' के लिए वापसी प्रकार' __m128d' है, '__m128' –
@PaulR: वह .... दुनिया में सभी भावनाओं को बनाता है। मैंने पूरी तरह से यह नहीं देखा। इस पर ध्यान दिलाने के लिए धन्यवाद। :) – Mehrdad